Spring boot端点路径

问题描述 投票:0回答:1

我的IntelliJ项目有一些问题。我正试图用Postman达到终点,但我什至不知道这样做的方向!我尝试了所有可能的方法,但没有任何效果!刚获得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();
    }
}

我的通用服务:

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();
    }

我的配置属性:

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/authorization/api/cities上使用此链接,但没有任何效果。有人可以帮我吗?在映射端点方面,我有点陌生。我正在使用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'
java spring-boot path mapping endpoint
1个回答
0
投票

请尝试使用酒店。

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

此外,当Spring Boot应用程序启动时,上下文路径将在日志中显示为以下内容

[[2m2020-01-18 08:41:04.513 [0; 39m [32m INFO [0; 39m [35m13986 [0; 39m[2m --- [0; 39m [2m [main] [0; 39m[36mo.s.b.w.embedded.tomcat.TomcatWebServer [0; 39m [2m:[0; 39mTomcat在端口上启动:8080(http),具有上下文路径'/ authorization / api'

也以下

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

表示相同。请检查@GetMapping

更新Op的组件扫描存在问题,无法自动检测到Controller类。

© www.soinside.com 2019 - 2024. All rights reserved.