SpringMVC - 调度程序servler的url模式样式

时间:2015-04-22 09:06:07

标签: java rest spring-mvc servlets

我正在尝试使用springMVC构建一个restful样式API。

为springMVC的DispatcherServlet配置url-pattern时,似乎有两个选择,我需要一些建议。

选择A:
配置模式为:<url-pattern>*.action</url-pattern>
和行动使用@RequestMapping("/role/add.action")

之类的路径

选择B:
配置模式为:<url-pattern>/api/*</url-pattern>
和行动使用@RequestMapping("/api/role/add")

之类的路径

我更喜欢使用没有后缀的样式,但在这种情况下我需要添加子路径。

但是我不确定哪个更适合在作为后端的项目中使用,以浏览器/ IOS / Android作为其客户端提供宁静的API。


可能有选择C ,但我不确定:

配置模式为:<url-pattern>/*</url-pattern>
和行动使用@RequestMapping("/role/add")

之类的路径

在这种情况下,内置servlet将被覆盖,例如jsp将无法正常工作 但是我没有任何jsp,而且html / js / css / image / document / music / video这样的静态资源都放在nginx服务的另一个端口或服务器上,对tomcat的请求只通过json数据提供ajax服务。
那么在这种情况下使用选择C是否合适,或者它有一些不良的副作用?

1 个答案:

答案 0 :(得分:3)

对于RESTful服务,我将使用选择B ,考虑使用CRUD执行REST操作。您可以将url-pattern映射为

config pattern as: <url-pattern>/api/*</url-pattern>

因此,要执行添加,您只需确保从页面发布JSON对象并拥有类似/api/add的网址

如果是删除,您可以简单地遵循相同的规则。考虑您要使用其ID从列表中删除object。你可以简单地把它做成,

/api/delete/${id}

并像处理它一样,

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