猿问

Spring Boot 控制器中的 REST 路径链

我使用 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?


MYYA
浏览 115回答 1
1回答

aluckdog

继续并使用类中的注释方法:@RestController@RequestMapping(path = "/users")public class UserController {&nbsp; &nbsp; @GetMapping("/{user_id}")&nbsp; &nbsp; public User getUserById(@PathVariable("user_id") String userId) { }&nbsp; &nbsp; @GetMapping("/{user_id}/orders")&nbsp; &nbsp; public List<Order> getOrdersByUserId(@PathVariable("user_id") String userId) { }&nbsp; &nbsp; &nbsp;@GetMapping("/{user_id}/orders/{order_id}")&nbsp; &nbsp; public List<Order> getOrdersByIdAndUserId(@PathVariable("user_id") String userId, @PathVariable("order_id") String orderId) { }&nbsp; &nbsp; // ... and so on}不要忘记{}括号内的实现。示例方法getOrdersByIdAndUserId映射到GET路径的方法,/users/{user_id}/orders/{order_id}其中/users公共部分定义为类映射,其余部分与方法。我建议您将类重命名User为UserController,因为这User是返回实体的合适名称。
随时随地看视频慕课网APP

相关分类

Java
我要回答