我有一個dropwizard 1.0.6應用程序。我希望把所有JAX-RS和驗證上的註釋的接口上,然後註冊我的資源來實現這個接口,類似於:當在接口中的JAX-RS驗證消息
@Path("/user")
@Produces(MediaType.APPLICATION_JSON)
public interface UserEndpoint {
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
Response createUser(
@FormParam("username") @NotEmpty @Email String username,
@FormParam("password") @Size(min=4) String password);
}
和resepective資源:
public class UserResource implements UserEndpoint {
public Response createUser(String username, String password) {
//my logic here
}
}
這工作令人驚訝,除了在錯誤響應的驗證消息,這已成爲:
createUser.arg0 not a well-formed email address
,而我會指望他們是:
form field username not a well-formed email address
UPDATE:
如果我直接添加了JAX-RS和驗證註釋UserResource
,則驗證消息是我所期望的:它報告的參數的名稱如@FormParam
註釋中所述。這是我想要實現的,但在界面中有註釋。
所以,當你不使用的接口獲取所需要的信息呢? –
是的,確切地說。我希望的消息是如果我不使用接口並且所有註釋都在資源上的消息。 – JChrist