首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache-cxf JAXRSClient自定义日期格式

Apache-cxf JAXRSClient自定义日期格式
EN

Stack Overflow用户
提问于 2017-04-20 23:22:26
回答 1查看 215关注 0票数 0

我将apache-cxf-jaxrs与Proxy-Pattern一起使用。但是我无法更改查询参数的日期格式。

这是我的界面:

代码语言:javascript
复制
@Path("/api/data")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public interface DataService {

 @GET
 @Path("/")
 List<DataDto> getData(@JsonFormat(pattern = "yyyyMMdd") @QueryParam("from") Date from);
}

客户端是关于以下内容进行初始化的:

代码语言:javascript
复制
JacksonJsonProvider jsp = new JacksonJsonProvider();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setDateFormat(new SimpleDateFormat("yyyyMMdd"));       
jsp.setMapper(objectMapper);
DataService  serviceClient = (DataService) 
JAXRSClientFactory.create(baseUrl, serviceClass, Arrays.asList(jsp));

调用下面的代码会在我的后端导致java.time.format.DateTimeParseException,因为日期列表的格式是DateFormat.DEFAULT,而不是"yyyyMMdd“。

代码语言:javascript
复制
  serviceClient.getData(new Date());

我的带有SimpleDateFormatter的ObjectMapper从未被使用过。我确实忘了一件事,但我不知道是什么。

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-04-21 14:38:57

这样啊,原来是这么回事。我必须为日期格式注册一个新的ParamConverterProvider。

代码语言:javascript
复制
JAXRSClientFactory.create(baseUrl, serviceClass, Arrays.asList(new JacksonJsonProvider(), new MyCustomDataParamConverter()));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43523707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档