2016-08-16 13 views
0

私は春のブート+日付+ AngularJSでWebプロジェクトを実装しています。クライアント側(angularjs)は、Restサーバーに要求を出します(spring-boot)。リポジトリを使用してCrudRepositoryのデータベースを検索するSpringブート。Webアプリケーションで登録ユーザーを検証する(spring-boot + AngularJS)

@RepositoryRestResource 
public interface ClientRepository extends CrudRepository< Client , Integer > { 

    List<Client> findAll(); 

} 

リポジトリの保存機能を編集する必要があります。私は保存を実行するが、動作していないサービス層を作成しようとしました。

@Component("clientService") 
@Transactional 
public class ClientRepositoryImpl implements ClientService{ 

    private final ClientRepository clientRepository; 

    public ClientRepositoryImpl(ClientRepository clientRepository) { 
     this.clientRepository = clientRepository; 
    } 


    @Override 
    public String addClient(Client saved) { 
      // .... 
      if(this.clientRepository.save(saved) != null) 
       return "OK"; 
      else 
       return "NOK"; 

    } 

} 

保存リポジトリを呼び出す前に、どのようにロジックを作成することができますか?私は登録を実装しており、サーバー側で入力されたデータを検証する必要があり、保存する前に検証することを知らない。クライアント側が入力するパラメータでコールレスト(/クライアント)を作成するので。

答えて

0

あなたは、この手順を使用して簡単な検証があり:あなたに続いて

public <YourReturn> addAClient (@Valid @RequestBody ClientDTO clientDTO)

:サーバー側で

、あなたは残りのコールを受信したとき、あなたはrestControllerに追加する必要がありますがDTOクラスは、そのような単純なチェックを追加することを可能にされています

  • ClientDTO

    @NotNull(message = "<null message>") @Length(max = 256, message = "<max size from client Name>") @NotBlank(message = "<not blank message>") public String getName() { return name; }

:)

+0

お返事に感謝が、私はハッシュするためにパスワードを変換するために、例えば、必要としていました。私は保存を無効にする必要がありました。 – user2989745

+0

値を更新する必要がある(つまり、ビューからの値を変更する必要がある)ので、特定のメソッドとそのクラスを作成する必要があります。そのためには、DTOを「ビジネスクラス」**(最高のオプション**)に変換するための特別なコンポーネント/サービスが必要です。簡単な変更のみを行う必要がある場合は、_ENUM_を作成してsaveメソッドに渡すことができます。 – Ogma

+0

"DTOを"ビジネスクラス "に変換するための特別なコンポーネント/サービスが必要です。"私の問題は、私はどのようにするべきではない..任意のアイデアですか? – user2989745

関連する問題