Как получить значение из 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");
}
}
И я получил свой метод Angular, который PostEditModel:
onSubmit() {
this._pageService.post(this.model)
.subscribe(result => console.log(result),
err => console.log("Oops, something happens in post page."),
() => console.log("Post completed"));
}
Я хочу получить целое число из результата. Целое число не в результате.
Знаете ли вы, почему я не вижу идентификатор из результата?
Спасибо
0 ответов
Я получил ответ на мой старый вопрос. Я использовал и все еще использую набор инструментов Swagger/OpenAPI для.NET, Web API и TypeScript для создания сервисного уровня Angular.
В некоторых случаях NSwag не может генерировать некоторые подходящие объекты из-за возвращаемого типа IActionResult. Для этого мы должны добавить SwaggerResponse с соответствующим кодом состояния, например, так:
[SwaggerResponse("200", typeof(object))]
[SwaggerResponse("403", typeof(string))]
public async Task<IActionResult> ...
Затем обновите код с помощью инструмента, и все готово!