2016-01-06 4 views
0

У меня есть приложение весной, которое использует весенний отдых и весенний mvc. У меня есть контроллер, который в POST добавляет комментарий. Метод выглядит следующим образом:Как отлаживать запросы весной 4?

@RequestMapping(method = RequestMethod.POST) 
public List<Comment> addComment(Comment comment) { 
    return service.addComment(comment); 
} 

Я посылаю запрос типа «приложения/JSON» с набора данных {автора: «текст», «Текст»: «commentText»}, и когда я отлаживая внутри этого метода, я получаю значения NULL для обоих свойств. Это мой комментарий модель:

@Entity 
public class Comment { 
    @Id 
    @GeneratedValue 
    private Long id; 
    private String author; 
    private String text; 

    public Comment() { 

    } 

    public Comment(String author, String text) { 
     this.author = author; 
     this.text = text; 
    } 

    public String getAuthor() { 
     return author; 
    } 

    public void setAuthor(String author) { 
     this.author = author; 
    } 

    public String getText() { 
     return text; 
    } 

    public void setText(String text) { 
     this.text = text; 
    } 

    @Override 
    public String toString() { 
     return "Comment{" + 
       "id=" + id + 
       ", author='" + author + '\'' + 
       ", text='" + text + '\'' + 
       '}'; 
    } 
} 

мне интересно, как я могу отлаживать, что пошло не так? С классическим сервлетом я получил бы запрос, и я бы сам создал объект Comment, используя некоторую библиотеку json, такую ​​как jackson или gson, но здесь я немного заблокирован, потому что все делается с помощью аннотаций. Есть идеи?

ответ

1

Возможно, вы захотите аннотировать параметр метода @RequestBody, чтобы сообщить Spring, откуда его заполнить.

+0

Это исправило мою проблему, спасибо, но все же было бы неплохо получить информацию о том, что уволено, прежде чем метод аннотируется с отображением запроса. –

+0

@MaKro Поднимитесь на 'org.springframework.web.DispatcherServlet' на уровень' DEBUG'. – chrylis