Here my controller:
@PutMapping("{id}")
public Mono<QdCFPresenter> save(
Long id,
@RequestBody @Valid @NotNull QdCFPresenter qdcf
) {
return this.qdcfService.store(qdcf);
}
I need to validate that id and qdcf.id are equals.
The way I need to accomplish that is using javax.validation.
We have all validation rules all encapsulated using javax.validation validations.
For example:
public class QdCFPresenter {
private Long id;
@NotNull
private Long codi;
}
So, is there any way to get it USING javax.validation validations?
I would disagree with this statement.
I would suggest to separate the concepts and have 3 different classes:
QdCFPresenterin your case), it shouldn't containidas it is a part neither ofPOSTnorPUTrequestidandcode)idandcode)Two last ones look similar but have different responsibilities. The response DTO is your contract with consumers, it could maintain its documentation and so on. The domain model is your internal thing and shouldn't be exposed to be able to evolve if required.
And the incoming request DTO is a blueprint for the creation or modification. You shouldn't require it to have
idat all.