无法识别@RepositoryRestController

时间:2017-07-14 07:26:29

标签: spring spring-data-rest

我有以下控制器:

@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 {...

1 个答案:

答案 0 :(得分:3)

@RepositoryRestController仅针对其管理的资源处理 basePath 。在其他情况下,路径不应包含“基础”。

如果您想在 basePath 下构建自定义操作,可以使用@BasePathAwareController