2013-11-13 2 views
0

Мой маршрут POST /article/create Application.createОтправить ответ в запросе POST

Application.java файл

public static void create(Article article) { 
    article.save(); 
    //send article ID (article.id) after saving 

}

Можно ли отправить article.id в ответ клиенту, когда товар имеет был сохранен в БД? Если да, то что это лучший способ сделать это

+0

Ваш URL не должен содержать слово 'create' дважды! Фактически, он должен содержать это нулевое время. То, что вы выполняете POST, достаточно, в REST API. –

+0

@RobinGreen - Конечно, он должен содержать его один раз, то есть 'POST/articles Application.create' (или даже лучше' Article.create')? – Flukey

+0

@Flukey Нет, в REST API вы используете 'POST', чтобы обозначить это - подразумевается« create »глагол, и его не нужно указывать явно. –

ответ

1

Вы не указали, какую версию игры вы используете, но если это play2, ваша подпись метода выглядит как отсутствующий тип возврата.

Пожалуйста, подробнее здесь, и сами решите, как вы хотите, чтобы вернуться вновь созданного ID

http://www.playframework.com/documentation/2.2.x/JavaResponse

У вас есть несколько возможностей для удостоверения личности возвращения

  • заголовки
  • тело ответа
  • или даже печенье

Внутри тела вы можете вернуть только id или встроить id внутри json, xml, html или какой-либо другой структуры данных.

+0

Также вам следует использовать код ответа HTTP, созданный '201 Created'. –

+0

Спасибо @RobinGreen. Поэтому вместо возврата ответа с помощью ok (..) можно вернуть его с помощью созданного (..). API здесь: http://www.playframework.com/documentation/2.2.1/api/java/play/mvc/Results.html#created() –

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