如何在Angular 2打字稿中发送以下内容?
要发送多个URI,我们必须通过换行符分隔它们:
curl -i -X PUT -H" Content-Type:text / uri-list" --data-binary @ uris.txt http://localhost:8080/authors/1/books
uris.txt文件包含书籍的URI,每个书都在一个单独的行上:
http://localhost:8080/books/1 http://localhost:8080/books/2
我知道如何发送PUT htt请求,但是没有找到在PUT请求中发送多个元素的解决方案!
我无法制作如下内容: http://localhost:8080/books/1 http://localhost:8080/books/2
打字稿总是""在字符串中,我在服务器端收到错误。
我可以发送一个这样的:
return this.http
.put(`${this.apiUrl + this.quizesUrl}/${quiz.id}${this.questionsUrl}`
, `${this.apiUrl + this.questionsUrl}/4`, QuizesService.OPTIONS_URI_LIST) // ...using put request
.map(this.handleSingleResponse) // ...and calling .json() on the response to return data
.catch(this.handleError) // ...errors if any
.finally(() => {
console.log('After updateQuestion request...');
})
如何从集合中发送多个?
答案 0 :(得分:0)
saveQuizQuestionAssignment(quiz: Quiz) {
console.log(`${this.apiUrl + this.quizesUrl}/${quiz.id}${this.questionsUrl}`);
console.log(this.createQuizQuestionRequest(quiz));
return this.http
.put(`${this.apiUrl + this.quizesUrl}/${quiz.id}${this.questionsUrl}`
, this.createQuizQuestionRequest(quiz), QuizesService.OPTIONS_URI_LIST)
.map(this.handleSingleResponse)
.catch(this.handleError)
.finally(() => {
console.log('After updateQuestion request...');
});
}
createQuizQuestionRequest(quiz: Quiz) {
var putRequestLine = '';
quiz.questions.forEach(question => {
putRequestLine += `${this.apiUrl + this.questionsUrl + '/' + question.id}`+'\n';
});
return putRequestLine;
}
我找到了非常简单的解决方案。 /当你累了很难找到最容易的事情/
" createQuizQuestionRequest'函数附加uri-list内容,后端接受它。然后请求将更新关系表中的测验问题分配(quiz_question)。
因此代码相当于邮递员发送的以下请求: