【问题标题】:How to add a parameter at the end of a restFul service URL?如何在 restFul 服务 URL 的末尾添加参数?
【发布时间】:2012-08-22 17:27:03
【问题描述】:

我正在尝试在 restFul Web 服务 URL 的末尾添加一个参数。

使用 Spring3

@RequestMapping(value="/searchForXmlFormat/{lastName}*?format=xml"* ,headers="Accept=application/atom+xml",method=RequestMethod.GET)

我想得到这样的东西:

rest/name/abcd?format=xml

rest/name/abcd?format=json.

我有获取 JSON /XML 格式数据的代码。我需要弄清楚如何在末尾添加?format=xml?format=json

【问题讨论】:

  • @RequestMapping 向我建议您正在使用一些特定的框架......我们能知道是哪一个吗?

标签: java xml json rest


【解决方案1】:

为什么您的请求的接收者不从您的请求标头中检查您接受的数据格式?

否则,我想您可以将它们指定为查询参数,但这完全取决于您使用的语言和框架。

【讨论】:

  • 我的项目需要“格式?=xml 或格式?=json”。否则我不会那样做。
  • 您的查询参数无论如何都是错误的。它应该是 ?format=json,在 uri 末尾带有问号。
  • 好的,你应该在问题中提到,我什至不知道那是什么。
【解决方案2】:

如果您使用 JAX-RS,我想您正在寻找的是注解 QueryParam。这是一个可能适合您的示例:

@GET
@Produces( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON } )
public String doGet(@QueryParam("format") String fmt) {
//...
}

使用上面的代码,fmt 将在您的 URL rest/name/abcd?format=... 中包含参数 format 的值

【讨论】:

  • @RequestMapping(value = "/lastName/{lastName}", method = RequestMethod.GET) public @ResponseBody String searchLdapUsersByLastName(@QueryParam("format") @PathVariable("lastName") String lastName ) 抛出 JsonGenerationException, JsonMappingException, IOException { ...}
猜你喜欢
  • 1970-01-01
  • 2017-06-15
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
相关资源
最近更新 更多