zoukankan      html  css  js  c++  java
  • 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接口(暂未学习,学完完善)

  • 相关阅读:
    ArcGis设置到 Oracle 的连接
    arcgis批量处理mxd定义服务中的路径
    Arcgis创建SDE_Geometry、SDO_Geometry的区别【转】
    JS常用的function集合
    如何找回Oracle中system,sys用户的密码[转]
    Oracle Spatial中SDO_Geometry详细说明[转]
    JS常用的三种匿名函数
    通用javascript方法
    好文分享之--被无现金社会抛弃的人
    电子产品使用感受之--Windows 10 小米笔记本Air HDMI转VGA无信号问题
  • 原文地址:https://www.cnblogs.com/xinghaonan/p/11795922.html
Copyright © 2011-2022 走看看