Ser*_*gio 14 java rest web-services jax-rs java-ee
我有一个像这样的宁静的Web服务方法:
@GET
@Path("/generateInfo")
@Produces(MediaType.APPLICATION_JSON)
public String generateInfo(
@QueryParam("a") String a,
@QueryParam("b") String b,
@QueryParam("date") Date date) {
// ...business code...
return "hello world";
}
Run Code Online (Sandbox Code Playgroud)
如何从WebBrowser中调用该方法?问题是Date当我尝试给我404找不到或500内部服务器错误时的参数.
pes*_*lla 14
我建议接受日期作为一个String并自己解析它.像这样:
@GET
@Path("/generateInfo")
@Produces(MediaType.APPLICATION_JSON)
public String generateInfo(
@QueryParam("a") String a,
@QueryParam("b") String b,
@QueryParam("date") String date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dateObj = sdf.parse(date);
return "hello world";
}Run Code Online (Sandbox Code Playgroud)
通过浏览器发出此请求的方法是:
http://localhost/your_service/generateInfo?date=2013-02-14Run Code Online (Sandbox Code Playgroud)
解析日期时要考虑的事项:
该乔达的Java API的日期被接受为一个更完整的实现日期/时间,一些人认为它比Java的原生API日期更加优化尤其是对于解析日期.
提供日期作为纪元时间戳通常更好,特别是如果您的应用程序在不同的时区运行.但是,在接受纪元时间戳时,您必须了解HTTP缓存问题(例如,如果您的客户端没有截断纪元时间戳,那么您将获得大量缓存未命中).我会回顾ISO-8601,因为格式化日期更容易进行HTTP缓存.
| 归档时间: |
|
| 查看次数: |
30112 次 |
| 最近记录: |