Dans Spring MVC, j'ai défini ce qui suit dans web.xml, mais je ne savais pas comment utiliser Spring Boot, alors prenez note
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>
Si vous souhaitez développer une API avec SpringBoot et la définir comme http: /// localhost: 8080 / api / v1 / app
, elle est mappée comme http: /// localhost: 8080 / app
par défaut. Donc, je pense qu'il est redondant d'implémenter / api / v1
dans Request Mapping
de Controller
.
Les informations sont différentes même si vous effectuez une recherche inopinée. .. .. J'ai pensé, alors j'ai recherché.
En regardant Annexe officielle de Spring Boot, trois propriétés sont susceptibles d'être applicables.
server.servlet.context-path=
server.servlet-path=
spring.mvc.servlet.path=
server.servlet-path
Honke n'est actuellement pas recommandé. Utilisez spring.mvc.servlet.path
!!
spring.mvc.servlet.path
Chemin du servlet, pas le chemin du contexte. Au début, j'ai mis cela en place.
Puisque Controller
qui définit spring.mvc.servlet.path
et mappe avec Request Mapping
fonctionne
J'ai eu un malentendu.
La raison pour laquelle j'ai enquêté parce que l'expression de lien de Thymeleaf n'était pas bien rendue.
server.servlet.context-path C'était le paramètre de chemin de contexte
S'il s'agit d'un chemin de contexte, la bonne réponse est de le définir comme suit
application.properties
server.servlet.context-path=/api/v1
Il semble que le chemin du contexte et le chemin du servlet aient été perturbés.
Au fait, dans SpringBoot1.X
, il peut être défini avec server.context-path = / api / v1
.
Les expressions de lien Thymeleaf ajoutent un chemin de contexte si vous commencez par /
.
HTML d'origine
<a th:href="@{/app/member}">Affichage des membres</a>
render
<a href="/api/v1/app/member">Affichage des membres</a>
Spring Boot Change Context Path
Recommended Posts