In Spring MVC habe ich Folgendes in web.xml festgelegt, aber ich wusste nicht, wie Spring Boot verwendet wird. Machen Sie sich also eine Notiz
web.xml
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:META-INF/spring/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Wenn Sie eine API mit SpringBoot entwickeln und als "http: /// localhost: 8080 / api / v1 / app" festlegen möchten, wird sie standardmäßig als "http: /// localhost: 8080 / app" zugeordnet. Ich denke also, es wäre überflüssig, / api / v1
in Request Mapping
von Controller
zu implementieren.
Die Informationen sind unterschiedlich, auch wenn Sie unerwartet suchen. .. .. Ich dachte, also habe ich nachgeschlagen.
In Offizieller Anhang zu Spring Boot sind wahrscheinlich drei Eigenschaften anwendbar.
server.servlet.context-path=
server.servlet-path=
spring.mvc.servlet.path=
server.servlet-path
Honke wird derzeit nicht empfohlen. Verwenden Sie spring.mvc.servlet.path
!!
spring.mvc.servlet.path
Servlet-Pfad, kein Kontextpfad. Zuerst habe ich das eingerichtet.
Da Controller
, der spring.mvc.servlet.path
setzt und mit Request Mapping
abbildet, funktioniert
Ich hatte ein Missverständnis.
Der Grund, warum ich nachgeforscht habe, weil der Link-Ausdruck von Thymeleaf nicht gut wiedergegeben wurde.
server.servlet.context-path Dies war die Kontextpfadeinstellung
Wenn es sich um einen Kontextpfad handelt, müssen Sie ihn wie folgt festlegen
application.properties
server.servlet.context-path=/api/v1
Es scheint, dass der Kontextpfad und der Servlet-Pfad durcheinander gebracht wurden. Übrigens kann es in SpringBoot1.X mit server.context-path = / api / v1 festgelegt werden.
Thymeleaf-Link-Ausdrücke fügen einen Kontextpfad hinzu, wenn Sie mit /
beginnen.
Original HTML
<a th:href="@{/app/member}">Mitgliederanzeige</a>
render
<a href="/api/v1/app/member">Mitgliederanzeige</a>
Spring Boot Change Context Path
Recommended Posts