在一般的http请求中,post请求是一个绕不过的方法类型,主要是这类请求,可以传输更多更大的参数,甚至是文件。
一般的参数是属于键值对形式,这种普通的参数每一个都有各自的名字和值,这是最简单的form表单形式,后端在取值的时候,需要根据一个一个参数名来获取参数值。
还有一种参数是以body请求体方式传递到后台的,一般可以是一个数组,也可以是一个对象,当作为一个对象的时候,需要封装为json格式,后台就通过一个对象来接收,而不用一个一个参数名来接收所有的参数。这个时候,我们后台代码,使用参数注解就是@RequestBody。
springboot提供了RestTemplate这种http client请求客户端,可以很方便的使用,而不用考虑连接池、重连机制。
===============================================================
使用springboot做一个简单的控制类,分别实现两个方法,一个是form表单提交,一个是body参数提交,来演示今天的主题,并对比两者的不同。
UserController.java
package com.xxx.webapp.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPara