Java 为什么不是';我的spring boot@RequestMapping不工作吗?
我有以下资料:Java 为什么不是';我的spring boot@RequestMapping不工作吗?,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,我有以下资料: @RepositoryRestController public class DataSetController { @RequestMapping(value = "/cars/test", method = RequestMethod.GET) public String testFetch() { return "HELLO"; } } @RepositoryRestResource public interfac
@RepositoryRestController
public class DataSetController {
@RequestMapping(value = "/cars/test", method = RequestMethod.GET)
public String testFetch() {
return "HELLO";
}
}
@RepositoryRestResource
public interface DataSetRepository extends PagingAndSortingRepository<DataSet, Integer>, QueryDslPredicateExecutor<DataSet> {}
@RepositoryRestController
公共类数据集控制器{
@RequestMapping(value=“/cars/test”,method=RequestMethod.GET)
公共字符串testFetch(){
回复“你好”;
}
}
@存储资源
公共接口DataSetRepository扩展了分页和排序存储库,QueryDSL谓词执行器{}
启动时的日志显示以下内容:
@RepositoryRestController
public class DataSetController {
@RequestMapping(value = "/cars/test", method = RequestMethod.GET)
public String testFetch() {
return "HELLO";
}
}
@RepositoryRestResource
public interface DataSetRepository extends PagingAndSortingRepository<DataSet, Integer>, QueryDslPredicateExecutor<DataSet> {}
2015-08-21 18:49:46.050信息52448---[主要]
o、 s.d.r.w.RepositoryRestHandlerMapping:已映射
“{[/cars/test],methods=[GET]}”到公共java.lang.String
com.example.hello.dataset.DataSetController.testFetch()
我的配置中的基本uri是:
基本uri:/api
所以我应该能够得到localhost:8080/api/cars/test
但以下是我从日志中得到的信息:
2015-08-21 18:58:10.847警告52476---[nio-8080-exec-1]
o、 s.web.servlet.PageNotFound:未找到HTTP的映射
在名为的DispatcherServlet中使用URI[/api/cars/test]请求
“dispatcherServlet”
为什么?在配置中似乎没有正确设置基本URI
/api
,这就是dispatcher无法找到正确映射的原因
由于您的所有请求都将具有/api
基础,因此我建议您向控制器添加@RequestMapping注释:
@RepositoryRestController
@RequestMapping("/api")
public class DataSetController {
}
您的基本URI
/api
似乎未在配置中正确设置,这就是dispatcher无法找到正确映射的原因
由于您的所有请求都将具有/api
基础,因此我建议您向控制器添加@RequestMapping注释:
@RepositoryRestController
@RequestMapping("/api")
public class DataSetController {
}
您说过您在配置中使用了
base uri
,但它应该是spring.data.rest.base uri
您说过您在配置中使用了base uri
,但它应该是spring.data.rest.base uri这是正确的,它解决了我的问题,但是你知道为什么我的其他控制器会像预期的那样工作吗?我有一个应用程序配置,其中有spring.data.rest.base uri=/api。只是这个控制器没有像我帮助的那样正常工作。显然,spring.data.rest.*配置存在一个持续的问题(请参阅)。您是否扩展了RepositoryRestMvcConfiguration
?这是正确的,它解决了我的问题,但您知道为什么我的其他控制器会按预期工作吗?我有一个应用程序配置,其中有spring.data.rest.base uri=/api。只是这个控制器没有像我帮助的那样正常工作。显然,spring.data.rest.*配置存在一个持续的问题(请参阅)。您是否扩展了RepositoryRestMvcConfiguration
?