контроллер покоя для репозитория Spring Data REST - PullRequest
0 голосов
/ 01 мая 2019

Я реализовал простой репозиторий Spring Data REST, который работает, как и ожидалось, и я в порядке, предоставляя все методы. Вот как это выглядит:

@RepositoryRestResource(path = "employees")
public interface EmployeeRepository extends PagingAndSortingRepository<Employees, Integer> 
{ }

Теперь я хотел бы обернуть этот репозиторий в контроллере, чтобы позже я мог добавить в него Hystrix для откатов и обработки исключений. Моя проблема в том, что я хотел бы сохранить поведение вышеупомянутого репозитория и просто передать ответ через контроллер клиенту. Есть ли возможный способ без переопределения всех методов моего хранилища (включая сортировку и нумерацию страниц)?

Вот так выглядит мой контроллер:

@RepositoryRestController
public class EmployeeController {

    private final EmployeeRepository repository;

    @Autowired
    public EmployeeController(EmployeeRepository repo) {
        repository = repo;
    }

    // Here I would like to return the same respone as my repository does
    @RequestMapping(method = GET, value = "/employees")
    public @ResponseBody ResponseEntity<?> parseRequest() {
        return ResponseEntity.ok("hi");
    }
}

1 Ответ

0 голосов
/ 02 мая 2019

Кажется, вы можете просто вызвать метод из своего хранилища.Вы пробовали это?

@RepositoryRestController
public class EmployeeController {

    private final EmployeeRepository repository;

    @Autowired
    public EmployeeController(EmployeeRepository repository) {
        this.repository = repository;
    }

    @RequestMapping(method = GET, value = "/employees")
    public @ResponseBody ResponseEntity<List<Employee>> parseRequest() {
        List<Employee> employees = repository.getEmployees();
        return ResponseEntity(employees, HttpStatus.OK);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...