对于Sping Boot 项目,我看到了一些不同的用法,并希望澄清以下几点。
**1-**据我所知,以下url中kebab-case的用法比camelCase好,是真的吗?
@RequestMapping("/api/v1/fraud-check")
**2-**另一方面,如果我们使用参数,那么我认为在url中使用camelCase更好,如下图所示(注意,我只对参数使用camelCase,其余的(security-check
)是kebab-case)。这是正确的用法吗?
@GetMapping("/security-check/{customerId}/{jobId}")
public ResponseEntity<List<Customer>> getCustomerByDepartmentIdAndJobId(
@PathVariable int customerId,
@PathVariable int jobId
) {
}
另一方面,在某些情况下,两个参数都是相同的类型,例如getById()
和getByReferenceNumber()
。在这种情况下,不能使用以下urlMap:
@GetMapping("/{userId}")
和
@GetMapping("/{referenceId}")
在这种情况下,向reference添加一个额外的参数('references')是否是一个好的做法,如下所示:
@GetMapping("/references/{referenceId}")
你有什么建议?
1条答案
按热度按时间gudnpqoy1#
你关于 shell 的观点是完全正确的,它与API的一般编写方式很好地结合起来。
我们有一篇很棒的文章,可以帮助你开始了解REST api的最佳实践:https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/
最后,关于端点的最终用例:
这是非常主观的,取决于你的用例。例如,添加“引用”也取决于你的类级别的requestmapping字符串,它说明了控制器类的域。
假设我有专门为参考编写的Controller,我可以这样做:
希望这能澄清这一点并有所帮助。谢谢。