Http Post返回空值

时间:2018-10-12 22:44:39

标签: c# angular asp.net-core

我正在使用前端6和后端的.Net开发一个小的待办事项应用程序。标题几乎描述了问题。首先,看一下代码,我试图使用Angular服务进行HTTP Post,并在.Net后端控制的.cs中使用httpPost函数来接收它。

TodoSerice.ts:

  addTodoItem(todoNew: todoItem): Observable<any[] | todoItem> {
return this.http.post<todoItem>(this.baseUrl + 'api/ToDoData/Addtodos', todoNew)
  .pipe(
    tap(todoLists => console.log("Service inside: ", JSON.stringify(todoLists))),
    catchError(this.handleError('addTodoItem', []))
  );
}

ToDoController.cs:

public IActionResult Addtodos(todoTasks addItem)
{
    Console.WriteLine("\n\n---task in sqlite: ", Json(addItem.task));
    //using(var todoApp = new userauth())
    /*{
        if(addItem != null){
            //var todos = todoApp.tasks.Add(addItem.ToList(todoApp.tasks));
            //todoApp.SaveChanges();
        }
        return Json(todoApp.tasks.ToList());
    }*/
    return Json(addItem);
}

这是我尝试添加内容时得到的JSON响应:

{  
   "todoTasksId":0,
   "userName":null,
   "task":null,
   "startDate":0,
   "endDate":0,
   "achieved":false,
   "deleted":false
}

.cs中的TodoTasks类:

public class todoTasks
{
    public int todoTasksId { get; set; }
    public string userName { get; set; }
    public string task { get; set; }
    public int startDate { get; set; }
    public int endDate { get; set; }
    public bool achieved { get; set; }
    public bool deleted { get; set; }
}

.ts(角)中的TodoItem接口:

export interface todoItem{
todoTasksId: number;
userName: String;
task: string;
startDate: number;
endDate: number;
achieved: boolean;
deleted: boolean;
}

我已注释掉将项目添加到数据库中的部分,因为我首先希望至少能够打印它。 由于POST,我收到的所有信息都是应用程序两端的空值。另外,我尝试使用Get调用,只是将数据从数据库中提取出来,而且效果很好。

0 个答案:

没有答案