《springboot》后端接收Content-Type :application/json类型的数据, 前端传参

Content-Type的几种类型

1.application/x-www-form-urlencoded  传key-val

application/x-www-form-urlencoded:浏览器默认请求,以键值对的形式k1=v1&k2=v2

可以使用springMVC默认的自定义参数接收,也可以通过@requestParam()注解接收,或者对象接收

2.application/json  传json

application/json:是以json字符串的格式请求

application/json:只能以@requestBody注解接收对象,但是springMVC中用@requestBody之后就不能接收单个参数了

springboot接收

	@RequestMapping(value ="/md5" ,produces = "application/json;charset=UTF-8")
	public String md5(@RequestBody ParamsBean bean) {
		
		System.out.println(bean.getAppKey());

		return "md5";
	}

3.text/xml 传 html

前端传字符串流, 传html


	    var context = "/db";
		var contentStr = "13888888888"
		console.log("---------前端传输-------------", contentStr);
	      $.ajax({
	          type: "POST",
	          url: context + "/demo/stream",
	          async: false, 
	          data: contentStr,
	          success: function(res){
	          		console.log("-----------后端返回----------", res.data);
	          }
	     });

后端接收



	@RequestMapping("/request")
	void request(HttpServletRequest request, HttpServletResponse response) {
        //这是个参数bean
        AppObtainTokenParam 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);
			}

			System.out.println(responseStrBuilder .toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

4. multipart/form-data 上传文件

POST 数据提交的方式。我们在使用表单上传文件时,必须让 form 的 enctyped 等于这个值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值