Я пытаюсь передать объект JSON из запроса POST с помощью машинописного текста в метод Web API. Fiddler показывает, что объект был преобразован в JSON, а Content-Type - «application/JSON». Но в контроллере API значение параметра отображает значение null вместо JSON.POST из API машинописного API, неспособного передать объект JSON
Машинопись:
createPO(product: string): Promise<string> {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers });
return this._http.post(this._creatPOUrl, JSON.stringify(product), options)
.toPromise()
.then(response => <string>response.statusText)
.catch(this.handleError);
}
Web API: [HttpPost] общественного асинхронной Task CreatePOInMO ([FromBody] строка продукта) { возвратного Ok(); }
продукт содержит null. Если я передаю фактическое значение внутри объекта продукта из машинописного текста (который является JSON), он работает. Но я не могу это сделать так жестко.
Я следил за этой должности: Angular2 Service not passing JSON to WebAPI Но похоже, что я делаю то, что упоминается здесь.
Вы можете оставить конфигурацию WEB-API? Я полагаю, что JSON-конвертер не ожидает формат JSON так же, как стандартный JSON, например, у меня была аналогичная проблема с отправкой {name: 'test'} из front end и ожидаемого класса в be было {Name: 'test '} из-за верблюжьего случая стандартный конвертер WEB-API не смог перевести ответ. также может быть полезным запрос – Nicu