簡體   English   中英

從角度4發布的數據在.net Core Web API中獲取為空

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM