0
Spring/Jetty/Jersey環境でこれを試みています。ジャージのリソース設定では、正しいプロパティを設定するようにしています。私はnotNull
がnullの代わりに空の文字列として入ってくる特殊なケースだと見ていますが、最大文字数を超えると、少なくとも不正なリクエストの例外が発生しますか? 200Spring/Jersey/Jetty環境でJersey Beanバリデータが初期化されない
ビジネスで10の文字の結果よりも長い
投稿列が
@Path("/testJaxb")
public interface DiagnosticResourceApi {
@Path("/test")
@POST
@ApiOperation(value="Test JaxB", notes="Testing jaxb annotation.")
public Response testJaxb(@Valid TestRequest request);
}
リソースの実装
public class DiagnosticResourceImpl implements DiagnosticResourceApi{
public Response testJaxb(TestRequest request){
return Response.ok().build();
}
}
public class TestRequest {
private TestBo businessObject;
public TestBo getBusinessObject() {
return businessObject;
}
public void setBusinessObject(TestBo businessObject) {
this.businessObject = businessObject;
}
}
public class TestBo {
@NotNull
private String requiredValue;
private String notRequiredValue;
@Size(max=10)
private String max10Chars;
//getters/setters
//....
}
リソースインタフェースオブジェクト3210ジャージーリソース構成
@Component
@ApplicationPath("/api")
public class JerseyResourceConfig extends ResourceConfig {
public JerseyResourceConfig() {
register(DiagnosticResourceImpl.class);
property(org.glassfish.jersey.server.ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
}
}
注釈をインターフェイスに追加するだけでなく、リソースクラスにも注釈を追加してみてください。 –
私はそれが可能であるかどうかはわかりません。私はそれらをインタフェースからリソースクラスに移すことができましたが、あなたが見るように、制約は要求オブジェクトBeanで定義されています。 –
現在、 '@ Valid'アノテーションはインタフェースにあります。すべての注釈をリソースクラスに移動してみてください。 –