Я только начал использовать Rest Реализация Spring с Mongodb в качестве бэкэнд и пользовательского интерфейса в качестве базового клиента.Spring Rest Model не в состоянии установить
Я выполнил конфигурационную часть Spring с Mongo Db, а также создал клиент с базой.
Я застрял в запросе PUT и запросе POST.
ContactModel.java
@Document(collection = "contacts")
public class ContactModel {
@Id
private String id;
private String name;
private String phone;
//getter and setters
//Overriden toString()
}
Мой контроллер
@Controller
@RequestMapping (value="contacts")
public class ContactController implements ApplicationContextAware{
private ApplicationContext applicationContext;
@RequestMapping(value = "/", method = RequestMethod.GET)
public @ResponseBody List<ContactModel> getContacts(){
//contacts is a list
return contacts;
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public @ResponseBody ContactModel getContact(@PathVariable String id){
//contact is a single contact
return contact;
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public @ResponseBody ContactModel updateContact(@PathVariable String id,@RequestBody ContactModel contactModel){
System.out.println("I am put " + id);
System.out.println("I am put 2 " + contactModel);
return null;
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
public @ResponseBody ContactModel deleteContact(@PathVariable String id){
//deleting the Document with id as *id* and returning it
return result;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.applicationContext = applicationContext;
}
}
Сво только основной контроллер, а не большое вычисление происходит. Теперь я могу нажать GET (оба с контактами/и контактом/{id}) и DELETE.
Кроме того, я могу ударить PUT также с точки зрения Backbone, Запрос полезной нагрузки, что происходит это:
{id: "5285fcb9ae67a6209c5b3567", name: "ABC DEF", phone: "2342465678"}
Также в моем методе PUT я получаю:
I am put 5285fcb9ae67a6209c5b3567
I am put 2 ContactModel [id=5285fcb9ae67a6209c5b3567, name=null, phone=null]
Теперь проблема почему значение имени и телефон является нулем и что из идентификатора устанавливаются, если весна не в состоянии выдвинуть в модель, почему идентификатора становится установленной в переменном, contactModel функции. Его действительно болезненным: '(
Reques Headers
Request URL:http://localhost:8080/karma/contacts/5285fcb9ae67a6209c5b3567
Request Method:PUT
Status Code:200 OK
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,fr;q=0.6,nb;q=0.4
Connection:keep-alive
Content-Length:69
Content-Type:application/json
Host:localhost:8080
Origin:http://localhost:8080
Referer:http://localhost:8080/karma/
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
X-Requested-With:XMLHttpRequest
Пожалуйста, проливают некоторые мысли, спасибо заранее
Пожалуйста, смотрите обновленный вопрос, я указал заголовки, а также –