soy nuevo en angular 2 y me enfrento a un problema que no puedo encontrar una solución: cuando intento publicar desde angular 2 a API obtengo - 415 tipo de medio no compatible.
Código angular 2:
onSubmit(value: any) { // console.log(value.message); let headers = new Headers({ 'Content-Type': 'application/json'}); let options = new RequestOptions({ headers: headers }); let creds = 'statusuknown'; let body = JSON.stringify(creds); this.http.post('http://localhost:1318/api/ActionItem', creds) .subscribe( () => {console.log('Success')}, err => {console.error(err)} ); }Y mi código de controlador:
// POST api/actionitem [HttpPost] public ActionItem Post( [FromBody]string str)// _id, string _status) { ActionItem item = new ActionItem( 313, str); return item; }cuando cambio el código del controlador para no obtener datos del cuerpo, funciona pero se refiere a NULL.
Captura de pantalla de mi llamada API:
Por favor, ayúdame y déjame saber si se necesitan más detalles.
Definió encabezados, pero no los usó. Cambia tu código a
this.http.post('http://localhost:1318/api/ActionItem', body, options).map(response => response.json()) .subscribe( () => {console.log('Success')} );use el encabezado y el cuerpo también en la solicitud http. en el parámetro de valor de uso creado de la función onSubmit.
use el siguiente código
let creds=JSON.Stringify(value); this.http.post('http://localhost:1318/api/ActionItem', creds, options) .map((res: Response) => res.json()).subscribe(res => { this.result = res; console.log(this.result); });