我只是在想,为休息服务创建PATH映射的最佳做法是什么.
假设我们有以下路径:
/users POST
/users/1 PATCH,GET
/users/1/contacts GET,POST
/users/1/contacts/1 GET,PATCH
问题是 – 创建控制器的最佳实践是什么.
例如,我们有UserController,我们在技术上可以放置所有这些映射.或者 – 我们应该创建单独的控制器(UserController,
ContactsController).
f.e下面的UserController,如果我们把所有东西放在下面.
@RequestMapping("users")
@RestController
public class UserController {
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity
如果我们创建单独的控制器,那么应该如何组织路径呢?
可能这是一个愚蠢的问题,但如果有人可以分享经验,我会很高兴.
最佳答案
让我们建议将来与用户相关的实体数量会增加.所以很明显,最好根据实体进行拆分:
原文链接:https://www.f2er.com/spring/432445.htmlUserController – > UserService – > UserRepository,
ContactController – > ContactService – > ContactRepository,
FriendshipController – >友谊服务 – > FriendshipRepository
根据我的经验,用户控制器
@RestController
@RequestMapping("/user")
public class UserController extends AbstractController {
...
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity> createUser(@RequestHeader("X-Auth-Token") Optional
与用户范围相关的友谊控制器:
@RestController
@RequestMapping("/user/{id}")
public class FriendshipController extends AbstractController {
...
@RequestMapping(value = "/friendship/code",method = RequestMethod.POST)
public ResponseEntity> generateCodeForUser(@PathVariable("id") long id) {
...
@RequestMapping(value = "/friendship/code",method = RequestMethod.GET)
public ResponseEntity> retrieveCodeForUser(@PathVariable("id") long id) {
...
不确定它是公理,但帮我组织我的代码.