gpt4 book ai didi

validation - Dropwizard 验证不起作用

转载 作者:行者123 更新时间:2023-12-01 05:02:12 24 4
gpt4 key购买 nike

环境:Dropwizard 0.8.1,Java 1.8

我无法获得 Dropwizard 的验证支持来做任何事情。我相信我正在遵循手册的建议。例如,使用以下资源(以及在模型类属性上使用 @Valid 的变体、@Validated 而非 @Valid、hibernate 的 @NotEmpty 而非 javax.validation.constraints.NotNull 等):

@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class TestResource {
static public class ModelClass {
@JsonProperty("only_null") @Null public String onlyNull;
@JsonProperty("not_null") @NotNull public String notNull;
}

@PUT
public ModelClass testContainer(@Valid ModelClass record) {
return record;
}
}

如果我把以下内容:
{"only_null":"shouldFail"}

而不是预期的 422,我回来了:
{"only_null":"shouldFail","not_null":null}

我在这里缺少什么?是否需要打开某些配置才能启用我错过的验证?

最佳答案

你的代码对我有用。我使用了以下注释:

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

仔细检查您发送请求的方式。我用过 curl发送请求:
$ curl -v -X PUT 'http://localhost:8080/test' -H 'Content-Type: application/json' -d '{"only_null":"shouldFail"}'
< HTTP/1.1 422
{"errors":["notNull may not be null (was null)","onlyNull must be null (was shouldFail)"]}

关于validation - Dropwizard 验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31949995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com