为什么要使用RESTful架构?

1.REST 是 Representational State Transfer的缩写,如果一个架构符合REST原则,就称它为RESTful架构。
2.RESTful 架构可以充分的利用 HTTP 协议的各种功能,是 HTTP 协议的最佳实践。
3.RESTful API 是一种软件架构风格、设计风格,可以让软件更加清晰,更简洁,更有层次,可维护性更好

可参考这个网址:https://www.cnblogs.com/lomtom/p/12591836.html

1.常用的四种请求方式

|

请求说明用于例子例子说明
@GetMapping匹配GET方式的请求一般用于读取数据/zoos/2获取2号的信息
@PostMapping匹配POST方式的请求一般用于新增数据/zoos/2新增2号的信息
@PutMapping匹配PUT方式的请求一般用于更新数据/zoos/2更新2号的信息
@DeleteMapping匹配DELETE方式的请求一般用于删除数据/zoos/2删除2号的信息

2.例子

1.全部查询:@GetMapping("/list")

@GetMapping("/list") 等于 @RequestMapping("/list")

 //@RequestMapping("/list")
    @GetMapping("/list")
    public List<Account> list(){
        return accountService.findAccountList();
    }

2.单个查询:@GetMapping("/getOne/{id}")

@GetMapping("/getOne/{id}") 等于 @RequestMapping(value = “/getOne/{id}”,method = RequestMethod.GET)

//@RequestMapping(value = "/getOne/{id}",method = RequestMethod.GET)
    @GetMapping("/getOne/{id}")
    public  Account getAccountById(@PathVariable("id")int id){
        return accountService.findAccountById(id);
    }

3.新增:@PostMapping(value = “/add”)

@PostMapping(value = “/add”) 等于
@RequestMapping(value = “/add”, method = RequestMethod.POST)

/**
     *
     * 新增,用POST
     */
    //@RequestMapping(value = "/add", method = RequestMethod.POST)
    @PostMapping(value = "/add")
    public String postAccount(@RequestParam(value = "name") String name,
                              @RequestParam(value = "money") double money) {
        Account account = new Account();
        account.setMoney(money);
        account.setName(name);
        accountService.add(account);
        return account.toString();

    }

4.更新:@PutMapping( “/update/{id}”)

@PutMapping( “/update/{id}”)等于
@RequestMapping(value = “/update/{id}”,method = RequestMethod.PUT)

/**
     * 更新,用PUT
     */
    //@RequestMapping(value = "/update/{id}",method = RequestMethod.PUT)
    @PutMapping( "/update/{id}")
    public String updateAccount(@PathVariable("id") int id,
                                @RequestParam(value = "name") String name,
                                @RequestParam(value = "money") double money

    ){
        //System.out.println("-----------11111111");
        Account account = new Account();
        account.setMoney(money);
        account.setName(name);
        account.setId(id);
        accountService.update(account);
        //System.out.println("--------111------------");
        return account.toString();

    }

5.删除: @DeleteMapping("/delete/{id}")

@DeleteMapping("/delete/{id}")等于
@RequestMapping(value = “/delete/{id}”, method = RequestMethod.DELETE)

@RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
    @DeleteMapping("/delete/{id}")
    public void deleteAccount(@PathVariable("id") int id){

        accountService.delete(id);
    }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐