2017-04-18 35 views
1

我有一個類,看起來像這樣:創建使用JSON當模型具有HTTP POST模型的外鍵

public class TaskRequest 
{ 
    public int Id { get; set; } 
    [Required] 
    [StringLength(255)] 
    public string Title { get; set; } 
    [Required] 
    public string Body { get; set; } 
    [Required] 
    [Column(TypeName = "datetime2")] 
    public DateTime RequestedDateTime { get; set; } 
    public virtual Employee Employee { get; set; } 
} 

反正我就可以建立一個HttpPost方法,可以創建一個模型被插入數據庫ASP.NET

我目前的任務POST方法:

// POST /api/taskrequests 
[HttpPost] 
public TaskRequest CreateTaskRequest(TaskRequest taskRequest) 
{   
    if (!ModelState.IsValid) 
    { 
     throw new HttpResponseException(HttpStatusCode.BadRequest); 
    } 

    _context.TaskRequests.Add(taskRequest); 
    _context.SaveChanges(); 
    return taskRequest; 
} 
我目前使用 HttpGet得到員工和 stringify整個TaskRequest作爲一個JSON字符串

var task = new Object(); 
task.Title = taskTitle; 
task.Body = taskBody; 
task.RequestedDateTime = new Date(taskDate + " " + taskTime); 
task.Employee = JSON.stringify(employee); 
var jsonString = JSON.stringify(task); 

然後發送到我的API

,但員工始終爲空。

回答

1

我想你應該叫JSON.stringify只有一次:

var task = new Object(); 
task.Title = taskTitle; 
task.Body = taskBody; 
task.RequestedDateTime = new Date(taskDate + " " + taskTime); 
var employee = new Object(); 
//add employee properties here 
task.Employee = employee; 
var jsonString = JSON.stringify(task); 
相關問題