问题标签 [dropwizard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3062 浏览

google-app-engine - 在 Google AppEngine 上部署 Dropwizard

我一直在尝试找到一种在 Google AppEngine 上部署Dropwizard应用程序的方法,但到目前为止我还没有找到任何东西。

从这个问题(和答案)来看,我认为这可能是不可能的。我想确定这一点,如果它确实有效,我想学习如何。

有一个名为warwizard的 dropwizard 分支,它显然可以让您从 dropwizard 代码创建 war 文件,但它已经有 6 个多月没有被触及,这可能会使使用 dropwizard 文档变得困难。

0 投票
1 回答
3420 浏览

jersey - Dropwizard - 过滤器给我 500 服务器错误,而不是定义的响应状态

我有一个过滤器-为我的网络服务添加了 TimeValidationFilter,如下所示:

我的 TimeValidationFilter 只是在此阶段检查 startTime 和 endTime 是否为空:

当我正确设置了 startTime 和 endTime 时,来自 BlablaResourceImpl 的响应状态将正确返回响应代码 200、400、201。

当我在没有 startTime 和 endTime 的情况下发出请求时,我希望看到 400(Response.Status.BAD_REQUEST)。但相反,我收到 500 服务器错误和以下异常:

0 投票
0 回答
1301 浏览

jersey - 使用 Grizzly 作为 dropwizard 资源的测试容器

我试图让这个GrizzlyResourceTest.java与 dropwizard v0.6.1 一起使用。我想使用 grizzly 作为测试容器的原因是因为 InMemoryTestContainer 不支持 Resource with injectable constructor,请参阅这个问题的详细信息InMemoryTestContainer does not support Resource with injectable constructor

由于 com.yammer.dropwizard.json.Json 和 com.yammer.dropwizard.bundles.JavaBundle 不再在 v0.6.1 中,我只是简单地注释掉与这些类相关的行。

我的情况更复杂,因为我将 HttpServletRequest 注入到我的资源类中,例如 myMethod(@Context HttpServletRequest request)。所以这里我只使用 dropwizard-example 下的 PersonResource。

QuickTest.java 看起来像:

当我运行 QuickTest 时,我从控制台得到的错误是:

有任何想法吗?

0 投票
4 回答
15326 浏览

java - 向 Dropwizard 添加其他指标

如何将自定义指标添加到 Dropwizard 在管理端口 (8081) 上提供的默认内容?除了添加健康检查之外,我在文档中找不到任何内容。我很想合并从 MongoDB 检索到的一些统计信息,并且宁愿将其与 8081 上的管理资源一起保存,也不愿在端口 8080 上创建自定义指标页面。

0 投票
2 回答
2844 浏览

java - dropwizard 中的单元测试视图

我正在尝试测试从drowpizard 资源返回的视图是否正确组装。具体来说,添加用户的视图有一个字段,如果密码检查器不符合某些规则,则该字段允许密码检查器拒绝创建用户的尝试。该视图在部署和运行 web 应用程序并指定错误密码时效果很好,但是当我尝试对其进行单元测试时,它会引发一个 web 应用程序异常,指出视图没有消息正文编写器。

我的单元测试很简单:

我得到一个服务器 500 错误,它隐藏在以下内容中:

处理请求并生成视图和响应的资源如下所示:

我可以理解异常(它知道的编写器,如 StringProvider 和 ByteArrayProvider,不适用于响应或视图或其他东西)但我更想知道如何正确测试可以返回响应的资源代码或视图。

0 投票
0 回答
1075 浏览

liquibase - 使用 dropwizard-migrations:找不到 liquibase.logging.Logger 的实现

我遇到了一个非常奇怪的异常,我无法找出原因。当我运行 adb status时,我得到:

我不知道如何解决它。谷歌搜索了一下,这似乎是一个有点间歇性的问题,过去,在 Liquibase 中产生了错误修复。我没想到会在这样一个集成的功能中发生这种情况。我正在使用 dropwizard-core/hibernate/migrations 0.6.2。我正在使用com.smokejumperit.gradle.OneJarPlugin gradle插件将它全部打包,我认为它也负责类加载。

无论如何,我有点不知所措。有任何想法吗?有人见过这个吗?

0 投票
2 回答
10484 浏览

java - Dropwizard - 组织你的项目,理解术语等

我正在学习使用 Dropwizard。我能够按照快速入门指南运行基本的 REST API。

在本文档中,有一个名为“组织您的项目”的部分。

它建议将您的项目组织为以下部分:project-api、project-client、project-service。

这是我的问题/疑问:

  1. 请概括地解释“api”、“服务”和“客户端”之间的区别。

  2. 有没有使用 dropwizard 严格遵循上述约定的示例?

  3. “...project-client 应该使用这些类和 HTTP 客户端来为您的服务实现一个成熟的客户端” --- 既然 'project-service' 将具有 REST API,那么我们为什么需要使用 HTTP 客户端?

谢谢!

0 投票
5 回答
9044 浏览

java - Dropwizard:如何以编程方式停止服务

要启动服务,我知道有人使用new MyService().run(args). 如何阻止它?

我需要在我的测试中以编程方式启动setUp()和停止。tearDown()

0 投票
1 回答
273 浏览

rest - 在客户端处理身份验证错误

目前我们正在开发一个 REST 应用程序,在服务器端使用 Dropwizard,在客户端使用 RequireJS、Backbone。

我们的身份验证模型是基于 cookie 的。对于每个请求,Web 过滤器都会检查适当的 cookie 及其值,即令牌。如果令牌仍然有效,它将在过滤器链上转发请求,如果不是,它将以 401 响应。

在客户端,它最终像:

这种方法出现的唯一缺陷是客户端首先必须下载实际页面,然后才能重定向到登录页面(当然是在 401 的情况下)。

比如我有两个页面a.html和b.html。如果客户端正在浏览页面a.html并且在一段时间后其令牌过期,首先他需要下载b.html它将在后台执行 ajax 请求(见上文),然后我将能够将其重定向到登录页面:

到目前为止,我在我们编写的每个 REST 应用程序中都使用了这种错误处理方式。我想看到的是例如:

但这需要例如在服务器端过滤器中对登录页面 url 进行硬编码,并且通常将一些逻辑绑定到服务器端代码中。

我确信有更好的方法来处理客户端的服务器身份验证错误,我想了解它们。

0 投票
3 回答
3046 浏览

java - Dropwizard 热部署

我正在寻找一个简单易用的 Java 系统,它为我创建了一个 REST 服务。所以我找到了dropwizard,但就我可以使用谷歌而言,它缺乏热部署,尽管码头能够这样做。当使用 maven-shade-plugin 时,构建这个东西至少需要 10 秒。此外,我的 IDE 报告说,当涉及到 shade-plugin 时,它不能使用 compile on save 功能(又名热部署)。

我可以以某种方式使用热部署吗?或者我可以用什么代替?

更新:如果没有什么能解决这个问题,我可能会使用 jersey&guice 等的组合,这在这篇文章中有解释