Я пытаюсь отправить данные JSON в контроллер, но контроллер печатает его как null.не может получить данные json в контроллер, контроллер показывает запрос JSON как null;
Ниже содержание моего кода контроллера:
@Transactional
def save(User user) {
println "${request.JSON}"
println "${request.JSON.owner}"
println request.format
user = new User(request.JSON)
if (user == null) {
transactionStatus.setRollbackOnly()
render status: NOT_FOUND
return
}
if (user.hasErrors()) {
transactionStatus.setRollbackOnly()
respond user.errors, view:'create'
return
}
user.save flush:true
respond user, [status: CREATED, view:"show"]
}
Я попробовал все дал по этой ссылке Grails send request as JSON and parse it in controller
URL отображения:
post "/user/"(controller: "user",parseRequest:true, action:"save")
Когда я пытаюсь это:
curl --data '{"owner":"new owner"}' --header "Content-Type: application/json" http://localhost:8080/user/
я получаю выход как:
{"message":"Property [owner] of class [class com.sample.User] cannot be null","path":"/user/index","_links":{"self":{"href":"http://localhost:8080/user/index"}}
Это выход из контроллера:
[:]
null
json
Я создал приложение, используя профиль покоя апи,
Контроллер принимает "/ html текст" Тип для операции «POST», но не JSON , и я могу обновить существующий объект с помощью JSON в качестве типа содержимого.
Моего класс домен имеет три поля
String owner
String category
Boolean deleted = false
Я использую почтальон для отправки запросов в формате JSON.
{
"owner":"some user",
"category":"rule01"
}
Что я делаю неправильно?
Какая версия Grails? –
Я использую grails 3.2.1 –
Опубликуйте дамп ваших 'params'. –