Dropwizard is using Jersey (HTTP <) -> Java POJO 마샬링. Jersey @*Param
(@FormParam, @QueryParam 등)의 여러 주석을 일부 매개 변수에 사용할 수 있습니다. 이 ValidRepresentation 객체와 "SOMETHINGELSE"으로 기대 HTTP POST 메서드에 응답하는 API 엔드 포인트를 정의
@Path("/valid/")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class ValidatingResource {
@POST
@Path("foo")
@Valid
public ValidRepresentation blah(@NotNull @Valid ValidRepresentation representation, @QueryParam("somethingelse") String xer) {
return new ValidRepresentation();
}
: 당신이지도를 사용해야하는 경우
은/마샬/자바 POJO를이 test cases in Dropwizard 살펴보고에서 HTTP 메소드 쿼리 매개 변수입니다. 엔드 포인트는 JSON 매개 변수가 제공된 경우에만 응답하며 JSON 오브젝트 (클래스 레벨에서는 @Produces 및 @Consumes) 만 리턴합니다. @NotNull은 호출이 성공하기 위해 그 객체가 필수적이어야하고 @Valid는 Dropwizard가 Hibernate validator를 호출하여 끝점을 호출하기 전에 객체의 유효성을 검사하도록 지시합니다.
ValidRepresentation 클래스는 here입니다 :
package io.dropwizard.jersey.validation;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.NotEmpty;
public class ValidRepresentation {
@NotEmpty
private String name;
@JsonProperty
public String getName() {
return name;
}
@JsonProperty
public void setName(String name) {
this.name = name;
}
}
POJO와이 개체의 JSON 표현처럼 보이게하는 방법을 정의하는 잭슨 주석을 사용하고 있습니다. @NotEmtpy는 Hibernate validator의 어노테이션이다.
Dropwizard, Jersey 및 Jackson이 세부 사항을 처리합니다. 그래서 기본적인 것들을 위해서 당신이 필요로하는 것이 전부입니다.
좋은 설명 +1. –