爲了得到我的基本的REST的API(只得到)的工作,我創造了這個設置:春天 - RestController調度
的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>app</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
下一個我有這個API控制器:
package packagename.controller.api;
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import packagename.model.Home;
@RestController
public class HomeApiController {
@RequestMapping("/api/home")
public Home greeting() {
return new Home(1, "asdas");
}
}
和實際的家庭模式:
package packagename.model;
public class Home {
private final long id;
private final String content;
public Home(long id, String content) {
this.id = id;
this.content = content;
}
public long getId() {
return id;
}
public String getContent() {
return content;
}
}
當我創建war文件並將其放入我的tomcat服務器的webapps文件夾中時,我打開「localhost:8080/webappname/api/home」。
接下來我得到404錯誤,但我不知道爲什麼。
任何人都可以幫助我這個設置? 感謝和問候!
您已將Spring Boot與傳統Web應用程序混合使用。 RestController已經足夠了,不需要指定web.xml。你需要的是去除web.xml並添加依賴項'spring-boot-starter-tomcat'並將其標記爲'provided'並將'packaging'更改爲'war'並且配置war插件不需要web.xml即可繼續。 –
是的,你可以。在servlet設置中,請使用'/ **'而不是'/'作爲你的'url-pattern'。 –
我增加了這個改變,但仍然404剩下.. –