Java Can';无法发现端点url
所以今天我开始使用SpringBoot,我的重点是用SpringBoot创建一个RESTAPI 我创建了一个带有rest控制器和简单模型的小项目。我正在尝试从rest控制器调用该方法(没有成功) 控制器:Java Can';无法发现端点url,java,spring-boot,Java,Spring Boot,所以今天我开始使用SpringBoot,我的重点是用SpringBoot创建一个RESTAPI 我创建了一个带有rest控制器和简单模型的小项目。我正在尝试从rest控制器调用该方法(没有成功) 控制器: @RestController public class RestController { @RequestMapping(method = RequestMethod.GET, produces =
@RestController
public class RestController {
@RequestMapping(method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE,
value = "/something")
public @ResponseBody Something getSomething(){
Something s = new Something ();
return s;
}
}
主要内容:
以及应用程序属性:
server.port=8081
spring.data.rest.basePath=/micro
因此,如果我有一个基本路径/端口和一个映射。。通常我只需要使用localhost:8081/micro/something。但唯一的原因是,当我使用API客户机时,我没有找到404作为端点/某物。如果有什么东西不见了,谁能告诉我?(错过了一些声明/)
我从我试图使用(例如)RequestMappingHandlerMapping的堆栈中阅读了另一篇文章
注意:使用Tomcat8运行的项目。我已经试过localhost:8081/什么的;本地主机:8081/micro等;根据文档,在rest控制器上添加了一些urlmapping注释: spring.data.rest.base path=#spring数据rest使用的基本路径 公开存储库资源 尝试使用
基本路径
而不是基本路径
spring.data.rest.base-path=/micro
或者尝试设置dispatcherServlet
路径,如下所示:
server.contextPath=/micro
对于SpringBoot 2.0+:
server.servlet.context-path=/micro
搜索以下日志:
o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [$URL]
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/root/test],methods=[GET]}" onto public java.lang.String com.test.Rest.getSomething()
我建议不要使用
server.contextPath
或spring.data.rest.base path
。我面临着不同的命运
请使用API的所有路径声明一个类:
public static final class RequestPath {
public static final String BASE = "/micro";
public static final String SOMETHING = BASE + "/something";
}
并在控制器中使用它:
@RestController
public class RestController {
@RequestMapping(value = RequestPath.SOMETHING)
@ResponseBody
public Something getSomething() {}
}
最后你得到的是:
基本路径
设置,这可能会产生不同的效果(+您肯定知道到所需端点的正确请求路径)spring.data.rest.base路径将不起作用,因为它是专门为spring数据rest设计的。你可以检查这张票 作为一种解决方法,您可以使用@oleg.cherednik建议的内容,或者升级到spring boot 2.0并使用此工具
server.servlet.context-path=/micro
我两个都试过了,但还是不起作用。。您尝试过:/micro/something(或者类似的东西,对吧?@Tazz在日志中搜索
o.s.b.w.servlet.ServletRegistrationBean
,URL是什么?
server.servlet.context-path=/micro