springboot第四天---SpringBoot构建RESTful API

引言:

RESTful介绍:

RESTful是一种软件架构风格!

 

RESTful架构风格规定,数据的元操作,即CRUD(create, read, updatedelete,即数据的增删查改)操作,分别对应于HTTP方法:GET用来获取资源,

 

POST用来新建资源(也可以用于更新资源),

 

PUT用来更新资源,

 

DELETE用来删除资源,

 

这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作

1、RESTful接口设计

在此我们以用户数据的基本操作来进行接口设计

 

HTTP协议请求方法

SpringBoot注解

URL

功能说明

POST

@PostMapping

/users

创建一个用户

GET

@GetMapping

/users

查询用户列表

GET

@GetMapping

/users/id

根据id查询一个用户

PUT

@PutMapping

/users/id

根据id更新一个用户

DELETE

@DeleteMapping

/users/id

根据id删除一个用户

用户实体bean创建

package com.xhn.springbootdemo.po;

import org.springframework.boot.context.properties.ConfigurationProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor

@ConfigurationProperties(prefix = "userbody")
public class UserBody {

    private long id;
    private String name;
    private String mobile;
    private String address;
    private Integer age;

    
}

创建Controller  UseBodyController

package com.xhn.springbootdemo.controller;


import com.xhn.springbootdemo.po.UserBody;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

@RestController
@RequestMapping("/userbody")
public class UserBodyController {

    private List<UserBody> listUser= Collections.synchronizedList(new ArrayList<UserBody>());
    //实现查询所有用户

    @GetMapping("/")
    public List<UserBody> getUserList(){
        return listUser;
    }

    //实现添加操作
    @PostMapping("/")
    public String createUser(UserBody userBody){
        listUser.add(userBody);
        return "success";
    }
    //实现删除功能
    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable("id") Long id){
        listUser.remove(id);
        return "success";
    }

    //修改需要先查询出对应的一条数据
    @GetMapping("/{id}")
    public UserBody getUserById(@PathVariable("id") Long id){
        //获取指定id的数据
        for (UserBody userBody : listUser) {
            if (userBody.getId() == id){
                return userBody;
            }
        }
        return null;
    }

    //更新指定id用户信息
    @PutMapping("/{id}")
    public String updateUserBody(@PathVariable("id") Long id,UserBody userBody){
        for (UserBody body : listUser) {
            if (body.getId()==id){
                //就进行修改操作
                body.setMobile(userBody.getMobile());
                body.setAddress(userBody.getAddress());
                body.setAge(userBody.getAge());
                body.setName(userBody.getName());
            }
        }
        return "success";
    }
}

RESTful与传统风格的区别:

RESTful更不容易被外界的人所了解他操作代码的意图,隐蔽性很强,提倡使用

Postman测试RESTful接口(暂未学习,学完完善)

原文地址:https://www.cnblogs.com/xinghaonan/p/11795922.html