Для этой функции:
addTask (task: Task): Observable<Task> {
const url = `${this.mainUrl}/entity/node`;
const postReturn = this.http.post(url, task, httpHaljson);
return postReturn
}
Это, как я объявляю АНИ и заголовок:
mainUrl : 'http://drupal.dd:8083',
httpHaljson : {
headers: new HttpHeaders({
"X-CSRF-Token": "Qfnczb1SUnvOAsEy0A_xuGp_rkompgO2oTkCBOSEItM",
"Authorization": "Basic Qfnczb1SUnvOAsEy0A_xuGp_rkompgO2oTkCBOSEItM", // encoded user/pass - this is admin/123qwe
// "Content-Type": "application/json"
"Content-Type": "application/hal+json"
})
}
и задачи, наиболее важным, что нужно сделать что-то вроде это:
{
"_links": {
"type": {
"href": "http://drupal.dd:8083/rest/type/node/task"
}
},
"title": {
"value": "I am a new task"
},
"type": {
"target_id": "task"
}
}
Для этого после Получать некоторые данные из формы я делаю это:
onSubmit(name: string, body:string): void {
let task: any = {
_links: null,
type: null,
title: null,
body: null
};
task._links = {type: {"href": "http://drupal.dd:8083/rest/type/node/task"} };
task.type = {target_id: "task"};
task.title = {value: name};
task.body = { "": body};
this.taskService.addTask(task)
.subscribe(task => {
this.tasks.push(task);
// console.log(JSON.stringify(task));
this.getTasks();
});
}
Посмотрите, что мой: console.log (JSON.stringify (задача)); является ключевым, с этим, вы можете видеть, как далеко вы можете создать то, что хочет drupal.
Посмотрите это guide:
Я попытался это, но без успеха ... –
же ошибки проверить мой выбор может быть синтаксис заголовка неверен. – Satendra
Все еще не работает. Очень странно, как хорошо работает на Postman. –