@Repository 和 @RestController 一起[关闭]

Posted

技术标签:

【中文标题】@Repository 和 @RestController 一起[关闭]【英文标题】:@Repository and @RestController together [closed] 【发布时间】:2017-08-10 09:50:46 【问题描述】:

我有一个可用的 JpaRepository 作为接口,还有一个可用的 Restcontroller。

目前它们是两种类型,我想将它们合二为一!

这就是我所拥有的:

@Repository
@RestController("problem")
public interface ProblemsController extends JpaRepository<Problem, Integer> 

  @RequestMapping(value = "all", method = RequestMethod.GET)
  List<Problem> findAll();

但是当我打电话给http://localhost:8080/application/problem/all 时,我得到了 404。

怎么办?

【问题讨论】:

你试过@RequestMapping(value = "/all", method = RequestMethod.GET) 我也认为是一个错字,但你写的是应用程序而不是应用程序 @Peter Rader 看看我的解决方案 FWIW JPARepository != JPA API。标签固定 我投票决定将此问题作为离题结束,因为它是一个 XY 问题并且会促进不良架构。 【参考方案1】:

你可以使用这种方式..但我没有得到你所期望的。

import java.util.List;

import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long> 

    List<Person> findByLastName(@Param("name") String name);


这是一个存储库和 REST Web 服务。

如果您遇到错误。您可以检查 UI 页面是否正确定位此界面

【讨论】:

如果有帮助,您可以选择答案。点击下方的小勾号。【参考方案2】:

尝试将 / 添加到您的 RequestMapping 而不是 @RestController

 @Repository
 @RestController
 public interface ProblemsController extends JpaRepository<Problem, 
 Integer> 

  @RequestMapping(value = "/problem/all", method = RequestMethod.GET)
  List<Problem> findAll();
 

或者你可以试试这个:

    @Repository
    @RestController
    @RequestMapping("/problem")
    public interface ProblemsController extends JpaRepository<Problem,
                Integer> 

            @RequestMapping(value = "/all", method = RequestMethod.GET)
            List<Problem> findAll();
     

【讨论】:

以上是关于@Repository 和 @RestController 一起[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

@Mapper和@Repository的区别

Maven:mirror和repository 区别

Maven:mirror和repository 区别

Maven的Mirror和Repository

Spring中的@Component、@Repository和@Service注解有啥区别?

UnitOfWork + Repository 模式和实体框架模拟