2015-12-14 6 views
0

Я построил демо-проект на Grails 3.0.10Как вставить данные в Grails 3 через REST API?

Я могу прочитать данные с запросом REST, но я не знаю, как вставлять данные.

Вот как устроен мой проект:

grails create-app bookstore 
cd bookstore 
grails create-domain-class bookstore.Book 

редактировать файл Grails-приложение/домен/книжный магазин/Book.groovy:

package bookstore 

class Book { 

    String title 
    String author 
    Date publicationDate 

    static constraints = { 
    } 
} 

Леска:

grails generate-all bookstore.Book 

Запускаем Приложение:

grails run-app 

Обзор: http://localhost:8080

Отсюда можно вставлять и элементы списка из браузера; о)

Теперь я хочу использовать REST API!

Чтение данных OK:

curl -H "Accept: application/json" -i http://localhost:8080 

/book.jsonHTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
X-Application-Context: application:development 
Content-Type: application/json;charset=UTF-8 
Transfer-Encoding: chunked 
Date: Mon, 14 Dec 2015 12:14:01 GMT 
[{"class":"bookstore.Book","id":1,"author":"James","publicationDate":"2015-12-13T23:00:00Z","title":"Hello"}] 

Но когда я пытаюсь вставить данные:

curl -i -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"title":"Test", "author":"Franck"}' 

http://localhost:8080/book/create.jsonHTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
X-Application-Context: application:development 
Content-Type: application/json;charset=UTF-8 
Transfer-Encoding: chunked 
Date: Mon, 14 Dec 2015 12:16:03 GMT 
{"class":"bookstore.Book","id":null,"author":null,"publicationDate":null,"title":null} 

И ничего не вставлена.

ответ

3

По умолчанию create Действие ничего не сохраняет. Он используется для заполнения начальной формы при создании экземпляра с использованием формы браузера. Вероятно, вы захотите вызвать действие save.

Это не связано с вашим вопросом, но FYI ... если вы строите интерфейс REST, вы должны посмотреть RestfulController и/или аннотацию @Resource.

+0

Я только что создал образец проекта на https://github.com/jeffbrown/bookstore. См. README. –

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