【发布时间】:2021-06-27 17:06:42
【问题描述】:
<web-app>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>de.mycompany.dept.restapi</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/api/v2/*</url-pattern>
</servlet-mapping>
</web-app>
即使我将我的 url 声明为 /api/v2/* ,仍然可以连接到没有此前缀的所有端点。这真的很烦人。所以例如可以连接端点/employee
- 正如我在 web.xml /api/v2/employee 中所写的
- /员工
我不想要第二个选项。我该如何预防。谢谢
【问题讨论】:
-
不足以重现问题。请提供minimal reproducible example。另外,标题与您的问题有什么关系。你的标题是关于 Java 包,你的问题是关于 URI 路径。
-
我的 api 只能通过 api/v2/... 访问!!!但现在我有两个选择。例如 localhost:8080/api/v2/employee 或我不想要的 localhost:8080/employee 。你现在明白了吗??
-
这与您的帖子标题有什么关系?我们还需要minimal reproducible example 才能重现问题。没有这个,我们只能做猜测。