我有以下控制器:
@RepositoryRestController
public class TestController {
@RequestMapping(value = "/testables", method = RequestMethod.GET)
public String get(){
return "testin it";
}
}
并没有被春天接受。当我点击/apiroot/testables
地址时,我得到404。如果我将其更改为@RestController并将api根添加到请求映射值,那么它可以工作。另外,如果我将映射更改为指向"/orders/testables"
,则它将作为@RepositoryRestController
使用。我在同一个包中也有以下控制器可以正常工作:
@RepositoryRestController
public class SendEmailController {
@Autowired
private MessageSource messageSource;
@Autowired
private JavaMailSender javaMailSender;
@Autowired
private OrderRepository orderRepository;
@RequestMapping(value = "/orders/{id}/sendOrderEmailToSupplier")
public void sendOrderEmailToSupplier(@PathVariable("id") Long id, WebRequest request) throws MessagingException {...
答案 0 :(得分:3)
@RepositoryRestController
仅针对其管理的资源处理 basePath 。在其他情况下,路径不应包含“基础”。
如果您想在 basePath 下构建自定义操作,可以使用@BasePathAwareController
。