这对你们来说是一个快速的问题!
我有一个IActionResult,它返回带有Ok结果的整数。
public async Task<IActionResult> Post([FromBody]PageEditModel value)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
var model = Mapper.Map<PageEditModel, Page>(value);
if (await _pageService.InsertAsync(model, _unitOfWork) > 0)
return Ok(new { id = model.Id });
return Content("Cannot insert page");
}
}
我得到了发布PageEditModel的Angular方法:
onSubmit() {
this._pageService.post(this.model)
.subscribe(result => console.log(result),
err => console.log("Oops, something happens in post page."),
() => console.log("Post completed"));
}
我想从结果中获取整数。整数不在结果中。
您知道为什么我无法从结果中看到ID吗?
谢谢
答案 0 :(得分:0)
我得到了我的老问题的答案。我曾经并且仍在使用.NET,Web API和TypeScript的Swagger / OpenAPI工具链来生成Angular服务层。
在某些情况下,由于IActionResult返回类型,NSwag无法生成某些适当的对象。为此,我们必须添加SwaggerResponse和相应的状态代码,如下所示:
[SwaggerResponse("200", typeof(object))]
[SwaggerResponse("403", typeof(string))]
public async Task<IActionResult> ...
然后使用该工具重新生成代码,您就很好了!