REST就是指对同一个URI的资源的不同请求方式(GET,POST,PUT,DELETE)(表述)下的做出的不同的操作(查,增,改,删),改变的是资源的状态,即表述性状态转移。 一个符合REST风格的URI就可以称之一个RESTful的接口
用户实体类
package com.offcn.springboot01.pojo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Repository;
import java.io.Serializable;
import java.util.Date;
/**
* @author zhangzhibin
* @create 2021-04-12 10:02
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class User implements Serializable {
private String name;
private Integer age;
private String address;
}
package com.offcn.springboot01.controller;
import com.offcn.springboot01.pojo.User;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 同一个URI http://localhost:8088/restful/add delete put get
* http不通请求方式
* 对应不同的接口 增删改查
*/
@RestController
@RequestMapping("restful")
public class RESTfulController {
private List<User> listUser= Collections.synchronizedList(new ArrayList<User>());
/***
* 获取全部用户信息
*/
@GetMapping("/user")
public List<User> getUserList(){
return listUser;
}
/***
* 新增用户
*/
@PostMapping("/user")
public String createUser(User user) {
listUser.add(user);
return "success";
}
/***
* 获取指定id用户信息
*/
@GetMapping("/user/{id}")
public User getUser(@PathVariable("id")Long id) {
for (User user : listUser) {
if(user.getId()==id) {
return user;
}
}
return null;
}
/**
* 更新指定id用户信息
*/
@PutMapping("/user/{id}")
public String updateUser(@PathVariable("id") Long id,User user) {
for (User user2 : listUser) {
if(user2.getId()==id) {
user2.setName(user.getName());
user2.setAge(user.getAge());
}
}
return "success";
}
/***
* 删除指定id用户
* @param id
* @return
*/
@DeleteMapping("/user/{id}")
public String deleteUser(@PathVariable("id") Long id) {
listUser.remove(getUser(id));
return "success";
}
}