注意:这个 适用于 POST 请求 请求参数格式本身就是json格式
这里的
JSONObject 是用的阿里的jar文件
import com.alibaba.fastjson.JSONObject;
这里看到评论里还是有问题我做了个小demo上传到码云了https://gitee.com/jason-fu/springboot
还是没搞好的同学可以下载源码看看。
这个项目是采用springboot框架主要的测试代码如下:
package com.example.controller;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
// 这里我没做异常处理
@RequestMapping("/request")
String request(HttpServletRequest request, HttpServletResponse response) {
String param= null;
try {
BufferedReader streamReader = new BufferedReader( new InputStreamReader(request.getInputStream(), "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null)
responseStrBuilder.append(inputStr);
JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
param= jsonObject.toJSONString();
System.out.println(param);
} catch (Exception e) {
e.printStackTrace();
}
return param;
}
@RequestMapping("/hello/{myName}")
String index(@PathVariable String myName) {
return "Hello " + myName + "!!!";
}
}