Я пришел из Spring boot (с Джерси), чтобы сделать API REST, где я мог бы легко справиться, если бы я хотел, чтобы какое-то значение из поля имело какие-либо ограничения, например, иметь какое-то максимальное значение или не быть нулевым с библиотекой javax.validation.
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
...
@PUT
@Produces(MediaType.APPLICATION_JSON)
public Response gestionarVenta(@Valid @NotNull(message = CONSTRAINT_BODY_NOT_NULL) final ProductoCompradoDTO productoCompradoDTO) {
...
}
Однако я сейчас проверяю конечные точки Google Cloud и пытался использовать эту же библиотеку, но она просто игнорирует ее и переходит к методу.
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
@Api(name = "echo", version = "v1", namespace = @ApiNamespace(ownerDomain = "echo.example.com", ownerName = "echo.example.com", packagePath = "")
// ...
)
public class MyApi {
@ApiMethod(name = "echo")
public Message echo(@Valid @NotNull(message = "cant be null") Message message, @Named("n") @Nullable Integer n) {
...
}
}
I 'Я посылаю пустое тело.
Почему оно игнорирует его? Есть ли какой-нибудь способ или библиотека для наложения ограничений на значения полей в конечных точках Google Cloud?
Спасибо!