如果我当前的 API 位于 api.foo.com/v1,/v1 是上下文路径,所有请求都像这样进入 API servlet:
<servlet-mapping>
<servlet-name>SearchServlet</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
我需要部署另一个应用程序才能使 api.foo.com/v2 可用。
我如何重新配置我的应用程序/环境来满足这两个请求,或者这是不可能的?应用程序能否接受所有请求并且 v1 和 v2 是 servlet 或 RESTful 映射?
最佳答案
为什么不创建两个 servlet,一个来处理每个 REST 服务?将此添加到您的 web.xml
文件:
<servlet>
<servlet-name>servletv1</servlet-name>
<servlet-class>com.stackoverflow.Servletv1</servlet-class>
</servlet>
<servlet>
<servlet-name>servletv2</servlet-name>
<servlet-class>com.stackoverflow.Servletv2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletv1</servlet-name>
<url-pattern>/v1/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletv2</servlet-name>
<url-pattern>/v2/*</url-pattern>
</servlet-mapping>
关于tomcat - 我可以使用 1 个 Web 应用程序提供 2 个类似于 StackOverflow 的 API 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35471713/