我正在尝试使用Angular 7 HttpClient消耗WebAPI资源。 HTTP PUT操作的CURL成功。
curl - X PUT--header 'Content-Type: application/json'--header 'Accept: application/json' - d '%27Reviewed%27'
'https://my.organization/WebAPI/MyServices/Service1/consult/123/800088093313/reviewstatus'
我正在使用以下代码执行相同操作,但是如果我使用Json.stringfy(),它会给我Http 415;否则,它会给我Http 404。你能帮忙吗?谢谢。
const requestUrl = this.endpoint + '/consult/' + sta3n.toString() + '/' + consultSid.toString() + '/reviewstatus';
const requestBody = JSON.Stringfy(status);
// const requestBody = {status};
return this._http.put(requestUrl, requestBody);
这是WebAPI端点声明
[HttpPut]
[Route("consult/{sta3n}/{consultSID}/reviewstatus")]
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(String))]
[SwaggerResponse(HttpStatusCode.Unauthorized)]
[SwaggerResponse(HttpStatusCode.NotFound)]
[SwaggerResponse(HttpStatusCode.InternalServerError, Type = typeof(Exception))]
public IHttpActionResult SetConsultReviewStatus([FromUri] short sta3n, [FromUri] long consultSID, [FromBody] string status) {
...
...
}
答案 0 :(得分:1)
在 put 方法中,您未提供 Content-Type 标头。像这样修改http.put行
return this._http.put(requestUrl, requestBody, , { headers: { 'Content-Type': 'application/json' } });
谢谢。