从request对象中获取请求json格式的参数

注意:这个 适用于 POST 请求  请求参数格式本身就是json格式 

从request对象中获取请求json格式的参数_第1张图片


这里的
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 + "!!!";
	}
}


你可能感兴趣的:(web开发)