Input inválido

Olá caros, existe alguma anotação do Spring que valide os campos. Por exemplo eu receberia um @RequestBody com
4 campos e o DTO só tem 3 campos. A anotação diria que a operação tem 3 campos e não 4 campos. Isto é possivel?

No Spring, usando a lib padrão que é o Jackson, você pode habilitar uma propriedade de configuração que faz essa validação em escopo global para todos os objetos:

# lança um erro se a request vier com um campo não mapeado no objeto de entrada
spring.jackson.deserialization.fail-on-unknown-properties=true

Ou pode anotar uma classe específica que queira com a anotação:

@JsonIgnoreProperties(ignoreUnknown = false)
public class MyClass {
   …
}

Eu fiz mas da msg de que o registro não foi encontrado

Acredito que seja porquê você passou na requisição o valor de um recurso inexistente na sua base!

Mas é só uma suposição, sem ver o código completo que você implementou e a requisição que está enviando para a aplicação é difícil dizer o real motivo.

não funciona pra versão 4 do spring

Dá uma olhada na documentação da versão que está utilizando para encontrar a configuração equivalente!