@Repository和@RestController

时间:2017-08-10 09:50:46

标签: java spring spring-data-jpa restful-url

我有一个工作的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。

怎么办?

2 个答案:

答案 0 :(得分:2)

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

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);

}

这是一个Repositry和REST Web服务。

如果您收到错误消息。您可以检查UI页面是否正确定位此界面或不

答案 1 :(得分:1)

尝试添加/到您的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();
     }