初步认识get和post 请求。


1.新建项目

2.选择SpringWeb

3.编写代码

java
package com.example.springbootstudyone.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@RestController
public class HelloController {
@Value("${spring.application.name}")
private String appName;
@GetMapping("/hello")
public String hello() {
return "Hello from" + appName;
}
@GetMapping("/getUser")
public Map<String, Object> json() {
Map<String, Object> user = new HashMap<>();
user.put("name", "张三");
user.put("age", "23");
return user;
}
@GetMapping("/user/{id}")
public Map<String, Object> getUserById(@PathVariable String id) {
Map<String, Object> user = new HashMap<>();
user.put("id", id);
user.put("name", "张三");
return user;
}
/**
* 接收 raw
* 参数在Body中,可嵌套/数组,结构清洗,现在主流
* 新系统,REST API,App,小程序,复杂对象
* @param user
* @return
*/
@PostMapping("/addUser")
public Map<String, Object> addUser(@RequestBody Map<String, Object> user) {
System.out.println("接收到数据:" + user.toString());
return user;
}
/**
* 接收 params
* 接收不明确的参数
* 拼在URL后面,所有人都能看到,长度有限,不能放敏感数据
* 分页,查询,搜索的时候用
*
* @param user
* @return
*/
@PostMapping("/addClass")
public Map<String, Object> addClass(@RequestParam Map<String, Object> user) {
System.out.println("接收到数据:" + user.toString());
return user;
}
/**
* 接收 x_www_form_urlencoded
* 接收明确的参数,并且转化类型
* 参数在body中
* 格式为key=value,不能嵌套,老系统/表单常用
* 登录,HTML表单,兼容老接口
* @param name
* @param id
* @param age
* @return
*/
@PostMapping("/addUserTwo")
public Map<String, Object> addUserTwo(@RequestParam String name,
@RequestParam String id,
@RequestParam Integer age) {
System.out.println("name" + name);
System.out.println("id" + id);
System.out.println("age" + age);
Map<String, Object> user = new HashMap<>();
user.put("name", name);
user.put("id", id);
user.put("age", age);
return user;
}
}
4.get请求,hello

5.get请求,getUser

6.get请求 user

7.post请求,raw方式,addUser

8.post 请求 params方式,addClass

9.post请求 x_www_form_urlencoded方式,addUserTwo

最基础的请求完成了。