Я написал пользовательский RepositoryRestController
с использованием соответствующего репозитория объекта. При выполнении запроса на этом URL-адресе запрос выполняется в моей консоли, но url возвращает 404. Я также могу видеть requestHandlerMapping для этого URL-адреса в журналах. См. Мой следующий фрагмент кода.Пользовательский репозиторийRestController Сопоставление URL-адресов 404 в резервном режиме данных
Repository:
@RepositoryRestResource
public interface FooRepository extends BaseRepository<Foo, Integer> {
@RestResource(exported = false)
List<Foo> findByName(String name);
}
Контроллер:
@RepositoryRestController
public class FooResource {
@Aurowired
FooRepository fooRepository;
@Autowired
RestApiService restApiService;
@RequestMapping(value = "/foos/search/byApiName", method = GET)
public ResponseEntity<?> findByApiName(String name) {
List<String> apiNames = restApiService.getNameLike(name);
List<Foo> fooList = fooRepository.findByName(name);
List<String> fooNames = // list of names from fooList
...
System.out.println("FETCHING apiNames");
return apiNames;
}
Когда я выполнить следующие действия локонов команду
curl -X GET http:localhost:8080/foos/search/byApiName
ответ возвращает ошибку 404. Я не знаю почему. Но он распечатывает заявление на печать в консоли.
@hat Я делаю неправильно здесь?
Условная ошибка 404 в Spring означает, что вам не хватает корня контекста. И вы звоните в службу без нее. Попробуйте добавить его после номера порта и перед '/ foos'. Обычно это название проекта. Например, http: // localhost: 8080/SpringWeb/foos/search/byApiName' – amicoderozer