You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring MVC项目中RestController包与类命名:Resource和Controller哪个是通用约定?

RestController 包名与类名通用约定

包名约定

Java后端生态中两种命名都有对应的使用场景,没有绝对的对错,区别主要适配不同的技术栈习惯:

  • Spring 生态(Spring MVC、Spring Boot)下最通用的约定是使用controller(复数controllers也很常见)作为包名,不管是返回视图的普通Controller还是返回JSON的RestController,默认都会放在这个包下,Spring官方示例、主流开源Spring项目基本都遵循这个约定。
  • resources作为RestController的存放包名,是JAX-RS技术栈(Jersey、RestEasy等实现)的通用习惯,这类框架本身就把REST接口定义为「资源」,所以包名和类名都会围绕resource命名。

快速选择原则:用Spring栈选controller/controllers包,用JAX-RS栈选resources包即可。如果团队已有统一内部规范,优先遵循内部规范,保证项目内命名一致性比遵守通用约定优先级更高。

类名约定

类名选择逻辑和包名完全对齐:

  • Spring 生态下命名为UserController即可,符合全行业Spring开发者的普遍认知,看到名字就能明确这是REST接口的入口类。
  • JAX-RS 生态下命名为UserResource,匹配这类框架对REST资源的定义逻辑。

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 22:45:02