2016-09-06 3 views
1

Я хочу создать простое Java-приложение, и я хочу использовать CRUDREPOSITORY и свой собственный репозиторий. У меня есть это:SpringBoot Rest api

@RestController 
@Transactional 
@ExposesResourceFor(Person.class) 
@RequestMapping("/prueba") 
public class PersonController { 

    @RequestMapping(value="/prueba", method=RequestMethod.GET) 
    public String person(@RequestParam(value="id", defaultValue="1") int id) {  
    return "hola"+id; 
} 

} 

это:

@RepositoryRestResource 
public interface IClientRepository extends CrudRepository<Client, Long> { 
} 

Проблема заключается в том, что CRUD работает хорошо, но я не могу назвать мою Localhost: 8080/Prueba/Prueba, потому что он дает ошибку 404. Я попробовал все, и я не могу получить доступ к нему, пожалуйста, помогите мне!

+0

Как вы используете это? – chrylis

+0

As Spring Boot App :) –

+0

Когда вы запускаете приложение весны, оно отображает список отображений запросов, которые он обнаружил у ваших контроллеров и любых настроенных параметров (т. Е. '@ RepositoryRestResource'). Есть ли там отображение для '/ prueba/prueba'? –

ответ

1

По умолчанию Spring REST обслуживает ресурсы REST в корневом URI «/». Существует несколько способов изменения базового пути.

С весны Ботинок 1.2+, добавьте ниже application.properties:

spring.data.rest.basePath=/api 

В вашем случае: spring.data.rest.basePath =/Prueba/Prueba , при условии, что нет переопределения для сервера .contextPath в application.properties

Ссылка: http://docs.spring.io/spring-data/rest/docs/current/reference/html/

+0

В оригинальном вопросе говорится, что CRUD хорошо работает (выставляя ресурс REST). Проблема заключается в том, что дополнительная конечная точка REST не возвращает значение в '/ prueba/prueba', которое определено в аннотации класса и метода контроллера. –

+0

Вопрос не сказал, что CRUD хорошо работает на корневом пути или на предполагаемом. – Stacky

Смежные вопросы