为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot 控制器中的 REST 路径链

Spring Boot 控制器中的 REST 路径链

MYYA 2021-06-19 17:58:16
我使用 Spring Boot 开发了 RESTful 后端应用程序。我了解了如何在课堂上使用注解:@RestController@RequestMapping(path = "/users")public class User{    // rest of code!}但是每个用户都有订单,任何订单都有商品!所以我设计了这样的rest API:/users /users/{user_id}/users/{user_id}/orders/users/{user_id}/orders/{order_id}/users/{user_id}/orders/{order_id}/items/users/{user_id}/orders/{order_id}/items/{item_id}/users/{user_id}/cart现在,Spring Boot 中此设计的最佳实践或正常实现是什么?如何使用 Spring Boot 处理 API?
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

继续并使用类中的注释方法:


@RestController

@RequestMapping(path = "/users")

public class UserController {


    @GetMapping("/{user_id}")

    public User getUserById(@PathVariable("user_id") String userId) { }


    @GetMapping("/{user_id}/orders")

    public List<Order> getOrdersByUserId(@PathVariable("user_id") String userId) { }


     @GetMapping("/{user_id}/orders/{order_id}")

    public List<Order> getOrdersByIdAndUserId(@PathVariable("user_id") String userId, @PathVariable("order_id") String orderId) { }


    // ... and so on

}

  • 不要忘记{}括号内的实现。

  • 示例方法getOrdersByIdAndUserId映射到GET路径的方法,/users/{user_id}/orders/{order_id}其中/users公共部分定义为类映射,其余部分与方法。

  • 我建议您将类重命名UserUserController,因为这User是返回实体的合适名称。


查看完整回答
反对 回复 2021-06-30
  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信