如果我当前的 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>