angular - 如何从 OkObjectResult 获取价值并从 Angular6 订阅?
问题描述
这是一个快速的问题给你们!
我得到了一个 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 吗?
谢谢
解决方案
我得到了老问题的答案。我曾经并且仍在使用适用于 .NET、Web API 和 TypeScript 的 Swagger/OpenAPI 工具链来生成 Angular 服务层。
在某些情况下,由于 IActionResult 返回类型,NSwag 无法生成一些合适的对象。为此,我们必须添加带有相应状态代码的 SwaggerResponse,如下所示:
[SwaggerResponse("200", typeof(object))]
[SwaggerResponse("403", typeof(string))]
public async Task<IActionResult> ...
然后使用该工具重新生成代码,您就可以开始了!
推荐阅读
- asp.net - 似乎无法使启用迁移工作成功安装但未添加
- python - 在烧瓶中从python导入html
- javascript - 单页应用中的多个地址参数
- reactjs - 在 React 中路由后如何调用函数?
- kotlin - Intellij 在 Kotlin 的注释字段之前禁用新行
- html - 在 CSS 中响应式缩放 SVG
- excel - 通过引用其他单元格中包含的工作表的名称来获取不同工作表中单元格的值
- python - 如何在 django 中使用 get_absolute_url 将字符串添加到我的博客文章路径而不是整数?
- flask - 从 Angular 向烧瓶应用程序提交表单时收到 CORS 策略错误
- awk - 分隔文件“|” 段落文本包括跨越多行的换行符