Почтальон возвращает 404 для REST API по правильному пути - PullRequest
1 голос
/ 19 апреля 2020

Я создал Rest API. Вчера я тестировал его на почтальоне, и он работал нормально, сегодня он возвращает 404, пути к файлам не изменились, так что это не может быть неправильно. Я использую Tomcat, и мой xampp включен. Это почтальон возвращает правильные данные для другого приложения, которое я имею.

Путь, который я пытаюсь проверить:

http://localhost:8080/Assignment2C/breweries

Метод, который я пытаюсь проверить,

@RestController
@RequestMapping("/breweries")
public class Breweries_Controller {

    @Autowired
    Breweries_Service service;

    @GetMapping(produces = MediaTypes.HAL_JSON_VALUE)
    public Resources<Breweries> getAllBreweries() {
        List<Breweries> allBreweries = service.getAllBreweries();
        for (Breweries b : allBreweries) {
            int id = b.getResourceId();
            Link self = linkTo(this.getClass()).slash(id).withSelfRel();
            b.add(self);
            linkTo(methodOn(this.getClass()).getBrewerie(id));
        }
        Link link = linkTo(this.getClass()).withSelfRel();
        Resources<Breweries> result = new Resources<Breweries>(allBreweries, link);
        return result;

    }

Я использую JPA для подключения к базе данных. .

структура проекта

enter image description here

файл конфигурации

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    <context:component-scan base-package="Assignment2C" />



    <mvc:annotation-driven />
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix">
            <value>/views</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>  
</beans>

web. xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/sd4-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


</web-app>

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

если я установлю base_package на

<context:component-scan base-package="main" />

, он будет работать

0 голосов
/ 19 апреля 2020

попробуйте также указать путь к отображению get

   @GetMapping("/getAll")

Ваш URL должен выглядеть следующим образом:

this: http://localhost: 8080 / Assignment2C / breweries / getAll или http://localhost: 8080 / 2C / пивоваренные заводы / getAll

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...