我必须以多部分/混合形式将POST请求发送到REST服务器(带有resteasy,https://resteasy.github.io/),但是我不知道如何正确构建请求。
我尝试了一些构想来构建带边界的多部分主体,但是我总是从服务器获得204(无内容)。
这是我当前的方法: createBaseHeader检查有效的会话并将其添加到标题中 createRequestUri使用服务器URL构建URL
header = this.createBaseHeader(header);
let options: any = {
method: "POST",
headers: header
};
let body: string = '';
for (let i: number = 0; i < multipartInput.parts.length; ++i)
{
body = body +
'--===============' + multipartInput._boundary + '==\r\n' +
'Content-Type: application/json\r\n' +
'accept: application/json\r\n' +
'content-length: ' + multipartInput.parts[i].bodyAsString.length +
'\r\n\r\n' +
multipartInput.parts[i].bodyAsString + (i == multipartInput.parts.length - 1 ? `\r\n--===============${multipartInput._boundary}==` : '\r\n');
}
this._http.request<T>(new HttpRequest("POST", this.createRequestUri(url), body, options)).toPromise()
.then(value =>
{
console.log(value);
})
.catch(value =>
{
console.log(value);
});
这些是请求和响应头:
这是当前请求参数:
我不确定这是否正确,或者请求是否正确。
有人知道如何更改吗? 如果您需要更多信息,我会添加它。
提前感谢:) J