我来自 Spring boot(带有 Jersey)来制作 REST API,如果我想要某个字段中的某些值有任何约束,比如有一些最大值或在 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 Endpoints,并尝试使用同一个库,但它只是忽略它并继续执行该方法。
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) {
...
}
}
我正在发送一个空尸体。
为什么它会忽略它?是否有某种方法或库可以对 Google Cloud Endpoints 上的字段值施加约束?
谢谢!
慕容708150
相关分类