- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
So I want to change the validation messages used to validate a model through a DropWizard resource.
I'm using java bean validation annotations. For example here is one of the fields I want to validate:
@NotEmpty(message = "Password must not be empty.")
I can test this works as expected using a validator.
However when I use DropWizard to do the validation on the resource it adds some extra stuff to that message. What I see is this - password Password must not be empty. (was null)
and I've found the code that does this here - https://github.com/dropwizard/dropwizard/blob/master/dropwizard-validation/src/main/java/io/dropwizard/validation/ConstraintViolations.java
Specifically this method -
public static <T> String format(ConstraintViolation<T> v) {
if (v.getConstraintDescriptor().getAnnotation() instanceof ValidationMethod) {
final ImmutableList<Path.Node> nodes = ImmutableList.copyOf(v.getPropertyPath());
final ImmutableList<Path.Node> usefulNodes = nodes.subList(0, nodes.size() - 1);
final String msg = v.getMessage().startsWith(".") ? "%s%s" : "%s %s";
return String.format(msg,
Joiner.on('.').join(usefulNodes),
v.getMessage()).trim();
} else {
return String.format("%s %s (was %s)",
v.getPropertyPath(),
v.getMessage(),
v.getInvalidValue());
}
}
Is there any way I can override this behaviour? I just want to display the message that I set in the annotation...
最佳答案
这是 dropwizard 0.8 中的程序化解决方案:
public void run(final MyConfiguration config, final Environment env) {
AbstractServerFactory sf = (AbstractServerFactory) config.getServerFactory();
// disable all default exception mappers
sf.setRegisterDefaultExceptionMappers(false);
// register your own ConstraintViolationException mapper
env.jersey().register(MyConstraintViolationExceptionMapper.class)
// restore other default exception mappers
env.jersey().register(new LoggingExceptionMapper<Throwable>() {});
env.jersey().register(new JsonProcessingExceptionMapper());
env.jersey().register(new EarlyEofExceptionMapper());
}
我认为它比配置文件更可靠。如您所见,它还支持所有其他 default exception mappers .
关于java - 覆盖 DropWizard ConstraintViolation 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806959/
我在我的机器上集成了 dropwizards。 我公开了它们,但我正在寻找它们的含义的信息。 例如,我如何获得每秒的请求数?任何此类信息都可以在任何地方获得,因为我无法在官方网站上找到它。 谢谢。 最
我想知道“Counter”和“Meter”类维护的计数之间是否有区别?我了解仪表也测量费率,但我很好奇是否有一个计数器和一个仪表同时更新(计数器增加),我认为两个数字会相同。我这个假设错了吗? 最佳答
我在我的机器上集成了 dropwizards。 我公开了它们,但我正在寻找它们的含义的信息。 例如,我如何获得每秒的请求数?任何此类信息都可以在任何地方获得,因为我无法在官方网站上找到它。 谢谢。 最
为什么 dropwizard 有两个不同的 groupId。io.dropwizard和com.yammer.dropwizard 当你会在 git pom 文件中看到。它有 io.dropwizar
我的 dropwizard 日志仅将所有内容输出到控制台,并输出所有级别的日志记录。我想在开发输出到控制台期间为我自己的东西记录一些日志,但过滤掉噪音。我已经坚持了一段时间,自从我升级到 dropwi
我正在使用 dropwizard 版本 0.7.1。它被配置为使用“随机”(临时?)端口(server.applicationConnectors.port=0)。我想在启动后获得真正在使用的端口,但
关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。 2年前关闭。
如何对Dropwizard管理门户进行身份验证,以限制普通用户访问它?请帮忙 最佳答案 在您的配置中,您可以在 http 下设置 adminUsername 和 adminPassword,如下所示:
我无法在 Dropwizard 应用程序的 run() 方法中注册多个资源。当我这样做时,我收到以下异常: Exception in thread "main" MultiException[java
我正在尝试从 dropwizard 应用程序构建 war 并进行部署。 我可以成功运行 jar 并访问我的休息服务。 有没有人从 dropwizard 应用程序创建并成功部署了一场 war ? 什么是
与 ObjectMapper ( com.fasterxml.jackson.databind ) 可以指定它应该忽略未知属性。这可以通过添加 @JsonIgnoreProperties(ignore
当我使用 Dropwizard 开发微服务时,我试图在 Dropwizard 的一个正在运行的实例/应用程序上拥有许多资源与在许多实例上拥有许多资源之间找到平衡。 例如 - 我有一个项目 A,有 3
我刚刚开始使用 Dropwizard 0.4.0,我想要一些有关 HMAC 身份验证的帮助。有人有什么建议吗? 先感谢您。 最佳答案 目前 Dropwizard 不支持开箱即用的 HMAC 身份验证,
我有一个 dropwizard 应用程序,它发出 yammer 指标,可以通过像 http://localhost:8081/admin/metrics 这样的 URL 进行监控。它以jsons的形式
我正在尝试为 Dropwizard 创建一个计划作业,该作业每分钟运行一次并查询数据库中的值。 为此,我需要在 initialize() 中注册一些 DAO 和服务。阶段,像这样: @Override
您如何将 dropwizard jdbi 2.78 升级到 jdbi 版本 3,因为我想使用其中包含的连接功能。 最佳答案 项目成员在这里。 我们将在 v3 最终版本之前发布更完整的迁移指南。与此同时
我在 Dropwizard 0.8 中使用 Basic Auth 并且我需要访问我的 SimpleAuthenticator 类中的请求上下文,而不是基本凭据。 也许我需要我自己的 AuthFacto
使用 Dropwizard 0.6.2 很容易做到这一点,但随着迁移到 0.7.x,它变得更加困难。我可以让它工作,但不是以完全合适的方式。我希望我的 RESTful API 在“/api/*”点可用
我是 dropwizard 的新手。我正在使用 0.8.5 版的 dropwizard。我有一个 dropwizard REST 服务,它在调用成功时返回 JSON,在调用不成功时返回 HTTL,例如
我是 dropwizard 的新手。我正在使用 0.8.5 版的 dropwizard。我有一个 dropwizard REST 服务,它在调用成功时返回 JSON,在调用不成功时返回 HTTL,例如
我是一名优秀的程序员,十分优秀!