gpt4 book ai didi

java - 如何获取 Spring Restful Web 服务中请求正文中发送的字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 14:38:59 25 4
gpt4 key购买 nike

我有一个 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 方法中发送正文中的字符串以及如何获取正文中发送的字符串?

最佳答案

正如 @Leon 所建议的,您应该将媒体类型添加到您的请求映射中,但也要确保您的类路径上有 Jackson。您还需要将 @RequestBody 参数类型更改为具有“name”属性的类型,而不仅仅是字符串,这样您就不必在之后进行转换。

public class Person {
private name;

public getName() {
return name;
}
}

如果您的数据对象类似于上面的内容,那么您可以将 @RequestBody 参数设置为 Person 类型。

如果您想要的只是一个字符串,那么也许只需在请求正文中传递“name”的值,而不是具有 name 属性的对象。

关于java - 如何获取 Spring Restful Web 服务中请求正文中发送的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25202211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com