Как получить значение из 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> ...

Затем обновите код с помощью инструмента, и все готово!

Другие вопросы по тегам