Путь к конечной точке весенней загрузки - PullRequest
0 голосов
/ 18 января 2020

У меня есть некоторые проблемы с моим проектом IntelliJ. Я пытаюсь достичь конечной точки с Почтальоном, но я даже не знаю, как это сделать! Я перепробовал все возможные пути и ничего не работает! Только что получил 404 статуса. Вот мой restController:

@RestController
@RequestMapping("/cities")
public class CityService extends GenericService<City> {

    @Autowired
    private CityRepository cityRepository;

    /**
     * Method that returns all the cities.
     * @return {@link List<City>}
     */
    @Override
    @RequestMapping(method = RequestMethod.GET)
    public List<City> loadAll(){
        System.out.println(new Date() + " Called LOAD-ALL.");
        return cityRepository.findAll();
    }
}

Мой genericService:

public class GenericService<T> {

    @Autowired
    GenericRepository<T> genericRepository;

    public GenericRepository<T> getGenericRepository(){
        return genericRepository;
    }

    /**
     * Method that returns all the generic entities.
     * @return {@link List<T>}
     */
    @GetMapping
    @RequestMapping(method = RequestMethod.GET)
    public List<T> loadAll(){
        System.out.println(new Date() + " Called LOAD-ALL.");
        return getGenericRepository().findAll();
    }

Мой config.properties:

spring.application.name = authorization-service
server.servlet.context-path = /authorization/api
#server.context-path = /authorization/api
#server.contextPath = /authorization/api
#server.module-path=/

spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.ddl = true
spring.jpa.show-sql = true

hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect

server.port = 8787

eureka.client.serviceUrl.defaultZone=${EUREKA_URI:http://localhost:8761/eureka}

eureka.instance.instance.instance-id = ${spring.application.name}:${server.port}:${random.int}

spring.cloud.loadbalancer.ribbon.enabled = false

spring.datasource.url = jdbc:mysql://localhost:3306/my_database? 
createDatabaseIfNotExist=true
spring.datasource.username = someUser
spring.datasource.password = somePass

Я пытался использовать эту ссылку на Почтальон http://localhost: 8787 / авторизация / API / города но ничего не работает. Кто-нибудь может мне помочь, пожалуйста? Я немного новичок в картировании конечных точек. Я использую Spring Boot 2.2.2.RELEASE. Стартовое сообщение:

2020-01-18 09:06:10.023  INFO 2808 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8787 (http) with context path '/authorization/api'

1 Ответ

0 голосов
/ 18 января 2020

Пожалуйста, попробуйте со свойством.

server.servlet.context-path = /authorization/api

Также, когда приложение весенней загрузки запускается, контекстный путь будет отображаться в журналах как-то ниже

[2m2020 -01-18 08: 41: 04.513 [0; 39 м [32 м ИНФО [0; 39 м [35 м 13986] [0; 39 м [2 м --- [0; 39 м [2 м [основной] [0; 39 м [36 мес. Sbwembedded.tomcat] .TomcatWebServer [0; 39m [2m: [0; 39m Tomcat запущен на портах): 8080 (http) с контекстным путем '/ authorization / api'

Также следующее

@GetMapping
@RequestMapping(method = RequestMethod.GET, value = "")

означает то же самое. Пожалуйста, проверьте @ GetMapping

Обновление Операционные проблемы имели проблемы с компонентным сканированием, и классы контроллера не были обнаружены автоматически.

...