zoukankan      html  css  js  c++  java
  • 【快学springboot】2.Restful简介,SpringBoot构建Restful接口

    Restful简介

    Restful一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    随着Restful风格的流行,现在更多的人叫HTTP接口为Restful接口。所以还是很有必要了解下Restful的一些基础约定的。

    Rest架构的主要原则

    网络上的所有事物都被抽象为资源,使用http方法表示具体操作,如下:

    【快学springboot】2.Restful简介,SpringBoot构建Restful接口

    幂等的意思是说,多次相同的请求,数据是保持一致的。

    restful实例参考

    • 非Restful之前的url风格

    http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据

    http://127.0.0.1/user/save POST 新增用户

    http://127.0.0.1/user/update POST 修改用户信息

    http://127.0.0.1/user/delete GET/POST 删除用户信息

    • RESTful风格的url

    http://127.0.0.1/user/1 GET 根据用户id查询用户数据

    http://127.0.0.1/user POST 新增用户

    http://127.0.0.1/user PUT 修改用户信息

    http://127.0.0.1/user DELETE 删除用户信息

    SpringBoot构建Restful接口

    基于上一节的项目。这里先不考虑参数接受问题,将会在下一讲详细讲解

    1. 新建一个UserController

    并且在类上使用@RestController注解。

    @RestController
    @RequestMapping(value = "/api/v1/users")
    public class UserController {
     
    
    }
    

    这就快速创建出了一个Controller,与SpringMVC不同的@Controller不同的是,这里使用了RestController注解,其效果等于Controller注解+ResponseBody注解的效果,即返回json格式的数据。

    RequestMapping注解表示这个类的前置url。

    • PostMapping对应增
    @PostMapping
    public Object addUser() {
     // 新增一个用户
     return "OK";
    }
    

    这里PostMapping不写url,表示这个接口地址为这个Controller的前置地址

    • GetMapping对应查
    @GetMapping(value = "/{userId}")
    public Object getUser(@PathVariable(value = "userId") Integer userId) {
     // 根据ID查找一个用户
     return "User";
    }
    
    • DeleteMapping对应删除
    @DeleteMapping(value = "/{userId}")
    public Object deleteUser(@PathVariable(value = "userId") Integer userId) {
     // 根据id删除一个用户
     return "OK";
    }
    
    • PutMapping对应更新
    @PutMapping
    public Object updateUser() {
     // 跟新
     return "OK";
    }
    

    这里提一下PatchMapping,Patch请求方法也是更新操作,如果要细致的与PutMapping区分,则是PatchMapping对应部分更新,PutMapping对应整体覆盖的更新。

  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/happy4java/p/11203615.html
Copyright © 2011-2022 走看看