问题标签 [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.
google-app-engine - 在 Google AppEngine 上部署 Dropwizard
我一直在尝试找到一种在 Google AppEngine 上部署Dropwizard应用程序的方法,但到目前为止我还没有找到任何东西。
从这个问题(和答案)来看,我认为这可能是不可能的。我想确定这一点,如果它确实有效,我想学习如何。
有一个名为warwizard的 dropwizard 分支,它显然可以让您从 dropwizard 代码创建 war 文件,但它已经有 6 个多月没有被触及,这可能会使使用 dropwizard 文档变得困难。
jersey - Dropwizard - 过滤器给我 500 服务器错误,而不是定义的响应状态
我有一个过滤器-为我的网络服务添加了 TimeValidationFilter,如下所示:
我的 TimeValidationFilter 只是在此阶段检查 startTime 和 endTime 是否为空:
当我正确设置了 startTime 和 endTime 时,来自 BlablaResourceImpl 的响应状态将正确返回响应代码 200、400、201。
当我在没有 startTime 和 endTime 的情况下发出请求时,我希望看到 400(Response.Status.BAD_REQUEST)。但相反,我收到 500 服务器错误和以下异常:
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 时,我从控制台得到的错误是:
有任何想法吗?
java - 向 Dropwizard 添加其他指标
如何将自定义指标添加到 Dropwizard 在管理端口 (8081) 上提供的默认内容?除了添加健康检查之外,我在文档中找不到任何内容。我很想合并从 MongoDB 检索到的一些统计信息,并且宁愿将其与 8081 上的管理资源一起保存,也不愿在端口 8080 上创建自定义指标页面。
java - dropwizard 中的单元测试视图
我正在尝试测试从drowpizard 资源返回的视图是否正确组装。具体来说,添加用户的视图有一个字段,如果密码检查器不符合某些规则,则该字段允许密码检查器拒绝创建用户的尝试。该视图在部署和运行 web 应用程序并指定错误密码时效果很好,但是当我尝试对其进行单元测试时,它会引发一个 web 应用程序异常,指出视图没有消息正文编写器。
我的单元测试很简单:
我得到一个服务器 500 错误,它隐藏在以下内容中:
处理请求并生成视图和响应的资源如下所示:
我可以理解异常(它知道的编写器,如 StringProvider 和 ByteArrayProvider,不适用于响应或视图或其他东西)但我更想知道如何正确测试可以返回响应的资源代码或视图。
liquibase - 使用 dropwizard-migrations:找不到 liquibase.logging.Logger 的实现
我遇到了一个非常奇怪的异常,我无法找出原因。当我运行 adb status
时,我得到:
我不知道如何解决它。谷歌搜索了一下,这似乎是一个有点间歇性的问题,过去,在 Liquibase 中产生了错误修复。我没想到会在这样一个集成的功能中发生这种情况。我正在使用 dropwizard-core/hibernate/migrations 0.6.2。我正在使用com.smokejumperit.gradle.OneJarPlugin gradle插件将它全部打包,我认为它也负责类加载。
无论如何,我有点不知所措。有任何想法吗?有人见过这个吗?
java - Dropwizard - 组织你的项目,理解术语等
我正在学习使用 Dropwizard。我能够按照快速入门指南运行基本的 REST API。
在本文档中,有一个名为“组织您的项目”的部分。
它建议将您的项目组织为以下部分:project-api、project-client、project-service。
这是我的问题/疑问:
请概括地解释“api”、“服务”和“客户端”之间的区别。
有没有使用 dropwizard 严格遵循上述约定的示例?
“...project-client 应该使用这些类和 HTTP 客户端来为您的服务实现一个成熟的客户端” --- 既然 'project-service' 将具有 REST API,那么我们为什么需要使用 HTTP 客户端?
谢谢!
java - Dropwizard:如何以编程方式停止服务
要启动服务,我知道有人使用new MyService().run(args)
. 如何阻止它?
我需要在我的测试中以编程方式启动setUp()
和停止。tearDown()
rest - 在客户端处理身份验证错误
目前我们正在开发一个 REST 应用程序,在服务器端使用 Dropwizard,在客户端使用 RequireJS、Backbone。
我们的身份验证模型是基于 cookie 的。对于每个请求,Web 过滤器都会检查适当的 cookie 及其值,即令牌。如果令牌仍然有效,它将在过滤器链上转发请求,如果不是,它将以 401 响应。
在客户端,它最终像:
这种方法出现的唯一缺陷是客户端首先必须下载实际页面,然后才能重定向到登录页面(当然是在 401 的情况下)。
比如我有两个页面a.html和b.html。如果客户端正在浏览页面a.html并且在一段时间后其令牌过期,首先他需要下载b.html它将在后台执行 ajax 请求(见上文),然后我将能够将其重定向到登录页面:
到目前为止,我在我们编写的每个 REST 应用程序中都使用了这种错误处理方式。我想看到的是例如:
但这需要例如在服务器端过滤器中对登录页面 url 进行硬编码,并且通常将一些逻辑绑定到服务器端代码中。
我确信有更好的方法来处理客户端的服务器身份验证错误,我想了解它们。
java - Dropwizard 热部署
我正在寻找一个简单易用的 Java 系统,它为我创建了一个 REST 服务。所以我找到了dropwizard,但就我可以使用谷歌而言,它缺乏热部署,尽管码头能够这样做。当使用 maven-shade-plugin 时,构建这个东西至少需要 10 秒。此外,我的 IDE 报告说,当涉及到 shade-plugin 时,它不能使用 compile on save 功能(又名热部署)。
我可以以某种方式使用热部署吗?或者我可以用什么代替?
更新:如果没有什么能解决这个问题,我可能会使用 jersey&guice 等的组合,这在这篇文章中有解释