示例代码
package com.example.demo.controller;
import com.example.demo.domain.User;
import com.example.demo.utils.JsonBuild;
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.RestController;
import java.util.Map;
@RestController
@RequestMapping("api/v1/pub")
public class TestController {
@RequestMapping("test")
public String test(String name){
return name;
}
/**
* 接收url重的参数
* @param name
* @param age
* @return
*/
@PostMapping("login1")
public JsonBuild login1(String name, int age){
System.out.println("login1");
System.out.println(name + " -- " + age);
return JsonBuild.buildSuccess();
}
/**
* 用对象接收参数的话,只能接收
* url字符串中的实体类同名的参数 和 通过表单提交的同名参数(x-www-from-urlencoded)
* @param user
* @return
*/
@PostMapping("login2")
public JsonBuild login2(User user){
System.out.println("login2");
System.out.println(user.toString());
return JsonBuild.buildSuccess();
}
/**
* 接收json中的数据,并把同名参数保存到 User 实体类中
* @param user
* @return
*/
@PostMapping("login3")
public JsonBuild login3(@RequestBody User user){
System.out.println("login3");
System.out.println(user.toString());
return JsonBuild.buildSuccess();
}
/**
* 接收json中的name 和 age的数据,也可以接收 url字符串中name 和age数据
* @param name
* @param age
* @return
*/
@PostMapping("login4")
public JsonBuild login4(String name, int age){
System.out.println("login3");
System.out.println(name + " -- " + age);
return JsonBuild.buildSuccess();
}
/**
* 把 json 中所有的数据都 按照key value的形式封装到 map中
* @param map
* @return
*/
@PostMapping("login5")
public JsonBuild login5(@RequestBody Map<String, String> map){
System.out.println("login3");
System.out.println(map.get("name") + " -- " + map.get("age"));
return JsonBuild.buildSuccess();
}
}
-
login1 请求
-
login2 请求
-
login3 请求
-
login4 请求
-
login5 请求