У меня есть пользовательская модель, я предоставляю RESTful API, чтобы клиент мог позвонить, чтобы обновить необходимые данные для данного пользователя. Ниже приведен код, а также команда curl, которую я использовал для обновления пользовательских данных, но она все равно не сработала. Что-то не так с моим кодом / командой?
И у меня есть следующие настройки маршрута
PUT /user/{<\d+>id}/? Users.update
// Updates a single user.
public static void update(Long id) {
// Fetch from user from DB
User user = safeFindById(id);
// Set new values
user.edit("user", params.all());
// Persist user
user.validateAndSave();
// return the user rendered based on template
get(id);
}
Использование Curl - добавить нового пользователя
$ curl d '{"email":"admin@foo.com","password":"secret","firstname":"who","lastname":"is"}' -X POST http://localhost:9001/user/add
Чтобы обновить пользователя, обе команды ниже не работали
$ curl -H "Accept: application/json" -X PUT -d "firstname=test" http://localhost:9001/user/1
$ curl -H "Accept: application/json" -H "X-HTTP-Method-Override: PUT" -X POST -d "firstname=test" http://localhost:9001/user/1