RESTFUL风格和传统访问方式区别

很多RESTFUL风格的访问地址都是一样的,只是行为动作区分了,对外隐藏了真实操作

代码示例

复制代码
/**
 * @author hrui
 * @date 2024/8/9 14:26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
    private Integer id;
    private String name;
}

package com.example.demo1.controller;

import com.example.demo1.pojo.Book;
import org.springframework.web.bind.annotation.*;

/**
 * @author hrui
 * @date 2024/8/8 22:53
 */
@RestController
@RequestMapping("/books")
public class TestController {

    @GetMapping("/{id}")
    public String getBookById(@PathVariable Integer id){
        return "获得Id为 " + id+ " 的图书";
    }


    @GetMapping("/{id}/{name}")
    public String getBookByIdAndName(@PathVariable Integer id,@PathVariable String name){
        return "获得Id为 " + id+ " 的图书,name为"+name;
    }

    @GetMapping("")
    public String getAllBooks(){
        return "获得所有图书";
    }


    @PostMapping("")
    public String saveBook(@RequestBody Book book){
        return "新增图书成功";
    }


    @PutMapping("")
    public String updateBook(@RequestBody Book book){
        return "修改图书成功";
    }


    @DeleteMapping("/{id}")
    public String deleteBook(@PathVariable Integer id){
        return "删除id为 "+id+" 图书成功";
    }

}
相关推荐
陈随易1 分钟前
VSCode v1.102发布,AI体验大幅提升
前端·后端·程序员
生无谓15 分钟前
什么是跨域,如何处理跨域
后端
Smilejudy16 分钟前
极具特色的位置运算
后端
码出极致17 分钟前
支付线上问题复盘的“5W”框架
后端
ezl1fe25 分钟前
RAG 每日一技(三):不止文本,代码和Markdown如何优雅地分块?
后端
jack_yin26 分钟前
手把手教你玩转 telegram-deepseek-bot 的 Admin 管理后台!
后端
浮游本尊27 分钟前
Java学习第8天 - Spring框架入门与依赖注入
后端
bcbnb28 分钟前
iOS App 安全加固实战:如何满足合规审计与选对加固工具
后端
00后程序员30 分钟前
WebView 调试太难?用远程调试工具这样搭建可控环境
后端
泉城老铁30 分钟前
SpringBoot对接微信公众号并实现消息发送功能详解
后端·微信