java - JODA LocalDate 作为 Jersey 的 QueryParam

标签 java web-services rest jersey

我在 Google 上搜索了很多,但发现答案非常复杂,而且与 JODA 2.3 版不兼容。

我需要在我的 Jersey 服务中使用 LocalDate 作为 QueryParam, 但 QueryParam 不支持 LocalDate 作为有效数据类型。

是否有任何其他注释或解决方法可以将 LocalDate 作为 QueryParam 处理?

@GET @Path("/available")
public List < AvailableClient > getAvailable(@QueryParam(value = "client") ClientDto client, @QueryParam(value = "from") LocalDate from, @QueryParam(value = "to") LocalDate to) {
    return client.get(from, to);
}

错误如下: [[致命]未找到公共(public)类型参数的注入(inject)源

最佳答案

您可以接收长值形式的日期并用它创建 LocalDate。

@GET @Path("/available")
public List < AvailableClient > getAvailable(@QueryParam(value = "client") ClientDto   client, @QueryParam(value = "from") long from, @QueryParam(value = "to") long to) {
   return client.get(new LocalDate(from), new LocalDate(to));
}

如果您确实需要接收 LocalDate 作为 QueryParam,则需要创建 ParamConverter 。 这不是很简单,我更喜欢 long 选项,因为您可以在 java 中的每个日期 api 中使用 long 。

Here是 ParamConverter 的一个很好的例子。

关于java - JODA LocalDate 作为 Jersey 的 QueryParam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015912/

相关文章:

java - SAX解析器: How to fetch root element of XML in java without explicitly giving root name?

c# - 使用 Visual Studio 2013 在 C# 中创建 asmx Web 服务

java - 这个 'intermediary' 模式的名称是什么?

java - 如何在 Liferay Dev Studio 中使用 Jax-rs 后端创建 Rest API?

java - JOptionPane 不会关闭

java - java中的方法如何返回Set?

java - 如何在带有 Mate Framework 的 Flex 中使用强类型远程服务对象?

c# - 如何通过用户凭据访问 AD FS 声明?

java - 如何使用 mailjet 的 Rest Java API 发送新闻通讯?

java - Spring Boot Rest 中没有内容