2014-11-24 3 views
0

Я пытаюсь создать мое первое приложение Spring, которое представляет собой простой веб-сервис REST. Я хочу, чтобы КАЖДЫЕ ответы были JSON (в заголовке), и я не знаю, как сделать это за один раз, я имею в виду не все мои методы контроллера, такие как файлы конфигурации или что-то еще.Первое приложение REST Spring

Это мой код:

@RestController 
public class HomeController { 
    @RequestMapping(value = "/something/{nom}/{id}", method = RequestMethod.GET) 
    public User hi(@PathVariable long id, @PathVariable String nom) { 
     return new User(id, nom); 
    } 
} 

Спасибо за заранее

+0

Попробуйте добавить '@ ResponseBody' после' @ RestController'. –

+1

Вы пробовали получить доступ к этому? Пользователь по умолчанию должен разбираться с JSON String по Jackson. – Jaskey

+0

@KeithEnlow Это не помогло бы; '@ RestController' уже автоматически подразумевает' @ ResponseBody', нет необходимости его явно добавлять. – Jesper

ответ

5

Ваш метод является правильным. Поскольку вы используете Spring 4 и аннотацию @RestController, вам не нужно использовать @ResponseBody.

Если вы не получаете JSON в качестве возврата, проверьте, включена ли в ваш проект зависимость Jackson Mapper.

Вы можете сделать это, добавив это на pom.xml (предполагая, что вы используете Maven):

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-mapper-asl</artifactId> 
    <version>1.9.13</version> 
</dependency> 

Добавляя эту зависимость, весна будет в состоянии разобрать ваш объект правильно.

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