[英]Data that is posted from angular 4 is getting as null in .net core web api
作為學習的一部分,我正在創建一個有角度的表單並將其連接到Web api,當我從表單發布數據時,它在api中獲取為空值,因此我嘗試添加[Route(“ jsonbody”)]但這不起作用,也嘗試在服務中使用JSON.stringify(model)
,但這也不起作用。
這就是我從角度發布數據的方式
onSubmit(form: NgForm) {
this.registerobj.postUserData(this.model).subscribe()
}
模型類是
export class UserModel {
constructor(
public FirstName: string ='',
public LastName: string = '',
public Address: string = '',
public DateOfBirth: string = '',
public Gender: string = '',
public Language: string = '',
public Email: string = ''
) {}
}
這樣發布服務中的數據
postUserData(model: UserModel) {
return this.http.post<any>(`${this.serviceUrl}`, model)
}
.Net Core API控制器
[Route("api/[controller]")]
public class UserController : Controller
{
public UserController(IUser userItems)
{
UserItems = userItems;
}
public IUser UserItems { get; set; }
[HttpPost]
public IActionResult Insert(UserModel user)
{
UserRepository UserItems = new UserRepository();
try
{
if (user == null)
{
return BadRequest("Recieved a Bad request");
}
UserItems.Add(user);
return Ok();
}
catch(Exception e)
{
return StatusCode(500, e);
}
}
}
API中的UserModel
public class UserModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public string DateOfBirth { get; set; }
public string Gender { get; set; }
public string Language { get; set; }
public string Email { get; set; }
}
嘗試通過像這樣發送體內數據。
post(data) {
const body = {
"column_name1":"data1",
"column_name2":"data2",
};
const headers = new Headers(
{
'accept': 'application/json',
'content-type': 'application/json'
});
const options = new RequestOptions({ headers: headers });
return this.http.post(this.url, body, options).map((response: Response) => response.json());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.