У меня есть приложение 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