Spring Boot REST路径映射

我只是在想,为休息服务创建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 ResponseEntitycreateuser() {}

    @RequestMapping(method = RequestMethod.GET)
    public User getUser() {}

    @RequestMapping(value = "{id}/contacts",method = RequestMethod.GET)
    public List

如果我们创建单独的控制器,那么应​​该如何组织路径呢?
可能这是一个愚蠢的问题,但如果有人可以分享经验,我会很高兴.

最佳答案
让我们建议将来与用户相关的实体数量增加.所以很明显,最好根据实体进行拆分:

UserController – > UserService – > UserRepository,

ContactController – > ContactService – > ContactRepository,

FriendshipController – >友谊服务 – > FriendshipRepository

根据我的经验,用户控制器

@RestController
@RequestMapping("/user")
public class UserController extends AbstractController {

...

   @RequestMapping(method = RequestMethod.POST)
   public ResponseEntitycreateuser(@RequestHeader("X-Auth-Token") Optional

用户范围相关的友谊控制器:

@RestController
@RequestMapping("/user/{id}")
public class FriendshipController extends AbstractController {

...

@RequestMapping(value = "/friendship/code",method = RequestMethod.POST)
    public ResponseEntity

不确定它是公理,但帮我组织我的代码.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...