我有POST方法的問題。我有一個用C#編程的REST服務器,我想在C#中使用這個REST服務,但我不知道如何。問題是,我的方法接受一個POST,收到一個JSON有效載荷,並返回一個HTTPStatusCode
和一個數字:C#中的JSON POST返回號碼
id_task= planificadorService.CreaTarea(tareaDTO);//tareaDTO is a JSON
if (id_tarea == 0)
{
response = Request.CreateResponse(HttpStatusCode.NotFound, "Cannot create task ");
return response;
}
response = Request.CreateResponse(HttpStatusCode.Created);
response.Content = new StringContent(JsonConvert.SerializeObject(id_task), Encoding.UTF8, "application/json");
return response;
這是很容易使用與WebRequest
和HttpWebResponse
類GET方法來做到這一點,但我不」不知道如何用POST方法來做到這一點。經過多次嘗試,我結束了這樣的事情:
public void PostTareas(Tarea tarea)
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url_base + "/v1/tareas");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
string json = JsonConvert.SerializeObject(tarea);
var client = new HttpClient()
{
BaseAddress = new Uri(url_base + "/v1/tareas")
};
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response;
response.Content= new StringContent(JsonConvert.SerializeObject(tarea).ToString(), Encoding.UTF8, "application/json");
response = client.PostAsync(url_base + "/v1/tareas", json)).Result;
}
我在正確的軌道上?我如何做到這一點,以便我能夠訪問Json內容?由於
PD-對不起我的英語,這不是我的母語,我知道有可能是錯誤地表達自己
返回什麼狀態代碼,調試時出現任何錯誤? –