将对象从 angular 2 应用程序发布到 Web Api 应用程序(获取不受支持的媒体类型)
posting object from angular 2 application to Web Api application (getting Unsupported Media Type)
我可以使用一些指南,将对象从我的 angular 2 应用程序发送到 Web API。
我知道如何从 Web Api 获取对象到我的 angular 2 应用程序,但似乎无法弄清楚 post 方法是如何工作的,即使我应该使用 http.post 方法。
我的angular2应用有如下方法:
sendUpdatdReservation(updatedReservation: Reservation) {
var result;
var objectToSend = JSON.stringify(updatedReservation);
this.http.post('http://localhost:52262/api/postbookings', objectToSend)
.map((res: Response) => res.json()).subscribe(res => result = res);
console.log(result);
}
"updatedReservation"是一个对象,我将其转换为JSON。
可以通过以下地址访问 Web api:
httl://localhost:52262/api/postbookings
Web Api 控制器:
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class PostBookingsController : ApiController
{
[AcceptVerbs()]
public bool ConfirmBooking(Booking booking)
{
return true;
}
}
我想做的是发送对象,根据对象具有的更改值更新我的数据库。然后发回 true 或 false 是否是确认,这样我就可以重定向到确认页面。
有人知道不支持的媒体类型错误吗?这是否与我发送的对象不是 api 方法所期望的有关?
希望有人能提供帮助。
发送请求时需要设置Content-Type
头:
sendUpdatdReservation(updatedReservation: Reservation) {
var result;
var objectToSend = JSON.stringify(updatedReservation);
var headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('http://localhost:52262/api/postbookings', objectToSend, { headers: headers })
.map((res: Response) => res.json()).subscribe(res => {
this.result = res;
console.log(this.result);
});
}
别忘了导入这个 class:
import {Http,Headers} from 'angular2/http';
我可以使用一些指南,将对象从我的 angular 2 应用程序发送到 Web API。
我知道如何从 Web Api 获取对象到我的 angular 2 应用程序,但似乎无法弄清楚 post 方法是如何工作的,即使我应该使用 http.post 方法。
我的angular2应用有如下方法:
sendUpdatdReservation(updatedReservation: Reservation) {
var result;
var objectToSend = JSON.stringify(updatedReservation);
this.http.post('http://localhost:52262/api/postbookings', objectToSend)
.map((res: Response) => res.json()).subscribe(res => result = res);
console.log(result);
}
"updatedReservation"是一个对象,我将其转换为JSON。
可以通过以下地址访问 Web api:
httl://localhost:52262/api/postbookings
Web Api 控制器:
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class PostBookingsController : ApiController
{
[AcceptVerbs()]
public bool ConfirmBooking(Booking booking)
{
return true;
}
}
我想做的是发送对象,根据对象具有的更改值更新我的数据库。然后发回 true 或 false 是否是确认,这样我就可以重定向到确认页面。
有人知道不支持的媒体类型错误吗?这是否与我发送的对象不是 api 方法所期望的有关?
希望有人能提供帮助。
发送请求时需要设置Content-Type
头:
sendUpdatdReservation(updatedReservation: Reservation) {
var result;
var objectToSend = JSON.stringify(updatedReservation);
var headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('http://localhost:52262/api/postbookings', objectToSend, { headers: headers })
.map((res: Response) => res.json()).subscribe(res => {
this.result = res;
console.log(this.result);
});
}
别忘了导入这个 class:
import {Http,Headers} from 'angular2/http';