【发布时间】:2014-08-08 11:13:41
【问题描述】:
我有一个 Spring Web 服务方法,我想获取一个字符串作为参数。该字符串在请求正文中发送。我的网络服务类是:
@Controller
@RequestMapping(value = "/users/{uid}/openchart")
public class OpenChartWebService {
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public String saveABC(@PathVariable("uid") Long uid,
@RequestBody String myString) {
System.out.println("sent string is: "+myString);
return "something";
}
}
我在正文中的要求是:
{
"name":"Ramesh"
}
但这不起作用。这显示“错误请求”HTTP 错误 (400)。如何在正文中发送字符串以及如何在webservice方法中获取正文中发送的字符串?
【问题讨论】:
-
尝试在 @RequestMapping 上指定媒体类型(方法 = RequestMethod.POST,产生 = MediaType.APPLICATION_JSON_VALUE,消耗 = MediaType.APPLICATION_JSON_VALUE)
-
它没有用。如果我做@RequestBody(SomeUserDefinedClass object),那么我可以得到那个特定的对象。我只想发送一个字符串参数,因此我不想增加创建另一个类的开销。
-
错误请求错误消失了。现在,当我运行它时,我得到“sent string is: null”。
标签: java spring web-services rest