Java 无法从Spring RestController获取POST数据
我无法让Spring获取Java 无法从Spring RestController获取POST数据,java,spring,spring-mvc,Java,Spring,Spring Mvc,我无法让Spring获取POST数据。控制器应该获取字符串,然后进行回显。然而,我越来越 响应:echo:null 在main()方法中 我该怎么做才能修好它 RestController @RestController @RequestMapping("/") public class HelloWorldController { @RequestMapping(method = RequestMethod.GET) public String get() {
POST
数据。控制器应该获取字符串,然后进行回显。然而,我越来越
响应:echo:null
在main()方法中
我该怎么做才能修好它
RestController
@RestController
@RequestMapping("/")
public class HelloWorldController {
@RequestMapping(method = RequestMethod.GET)
public String get() {
return "test get method";
}
@RequestMapping(method = RequestMethod.POST)
public String post(String string) {
return "echo: " + string;
}
}
测试桩功能
public static void main(String[] args) {
String urlString = "http://localhost/Test/";
try{
Gson gson = new Gson();
Testz test = new Testz();
test.setZ("zzzzzzzzzzzzzzzzz");
test.setCrap("rawrrr!!");
String urlParameters = gson.toJson(test);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setInstanceFollowRedirects(false);
conn.setRequestMethod("POST");
conn.setUseCaches(false);
try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
wr.write(postData);
} catch (Exception e) {
e.printStackTrace();
}
InputStream inputStream = conn.getInputStream();
byte[] available = new byte[inputStream.available()];
inputStream.read(available);
System.out.println("response: " + new String(available));
}
catch(Exception e){
e.printStackTrace();
}
}
class Testz {
private String z = null;
public void setZ(String z){this.z = z;}
public String getZ(){return z;}
private String crap = null;
public void setCrap(String crap){this.crap = crap;}
public String getCrap(){return crap;}
}
尝试添加
@RequestBody
注释:
public String post(@RequestBody String string) {
它应该像一个符咒