在调用 Spring RestController 时获得 404

我有一个包含两个模块的 mvn-project:

  • 服务器:提供多个 REST 端点的 Spring 应用程序。

  • 客户:angularJS。

构建war.file 将npm 生成的所有资源复制到服务器部分的WebContent 文件夹中。在 tomcat 中手动安装战争文件不起作用。该应用程序安装无任何异常,但当我调用我的一项休息服务时收到 404。AngularJs 启动良好。

WEB-INF/web 中声明使用 Spring

  <servlet>

         <servlet-name>dispatcher</servlet-name>

         <servlet-class>

             org.springframework.web.servlet.DispatcherServlet

         </servlet-class>

         <init-param>

             <param-name>contextConfigLocation</param-name>

             <param-value>classpath*:spring.xml</param-value>

         </init-param>

         <load-on-startup>1</load-on-startup>

    </servlet>


     <servlet-mapping>

         <servlet-name>dispatcher</servlet-name>

         <url-pattern>/pmt/*</url-pattern>

     </servlet-mapping>

spring.xml 配置文件:


<mvc:annotation-driven />

<context:component-scan base-package="de.pmt.server" />


<!--Services-->

<bean name="releaseService" 

    class="de.pmt.server.release.ReleaseService" p:releaseDAO-ref="releaseDAO"/>

<bean name="estimateService"

    class="de.pmt.server.strategy.EstimateService" />

<bean name="holidayService" 

    class="de.pmt.server.holiday.HolidayService" 

    p:restTemplate-ref="restTemplate" p:holidayDAO-ref="holidayDAO"/>


<!--RestController-->

<bean name="employeeController" 

    class="de.pmt.server.rest.controller.EmployeeController" 

    p:employeeDAO-ref="employeeDAO" />

<bean name="holidayController" 

    class="de.pmt.server.rest.controller.HolidayController" 

    p:holidayService-ref="holidayService"/>

<bean name="vacationController" 

    class="de.pmt.server.rest.controller.VacationController" 

    p:employeeDAO-ref="employeeDAO" p:vacationDAO-ref="vacationDAO" />

<bean name="releaseController" 

    class="de.pmt.server.rest.controller.ReleaseController" 

    p:releaseService-ref="releaseService"/>

<bean name="strategyController" 

    class="de.pmt.server.rest.controller.StrategyController" 

    p:strategyDAO-ref="strategyDAO" />

EmployeeController - 作为一个例子 - 看起来像这样:


当我调用localhost:8080/pmt/employee/getAll时,我得到 404


白猪掌柜的
浏览 456回答 2
2回答

慕莱坞森

您应该定义您的控制器使用的 HTTP 方法的类型(GET、PUT、POST、DELETE)@RequestMapping("/getAll", method = RequestMethod.GET)@ResponseBodypublic List<Employee> getAllEmployee() {&nbsp; &nbsp; return employeeDAO.getAll();}

慕慕森

从您的休息控制器中删除@ResponseBody。@RequestMapping("/getAll" , method = RequestMethod.GET)&nbsp; &nbsp;&nbsp; &nbsp; public List<Employee> getAllEmployee() {&nbsp; &nbsp; &nbsp; &nbsp; return employeeDAO.getAll();&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java