내 WebApi에서 HttpRequestMessage
으로 사용하지 않는 한 HttpGet
및 HttpPost
메서드를 사용하면 get 메서드가 제대로 작동하고 POST 메서드가 호출되지만 본문 내용이 항상 null입니다. 모델 에서처럼 문자열 형식 (선호하는 데이터 유형)으로 본문 내용을 제공하려했지만 이러한 방법 중 어느 것도 작동하지 않았습니다. 나는 또한 성공없이 내용 유형을 바꾸는 시도했다. 아무도 내가 뭔가 잘못하고있는 경우 또는 쉽게 아래 예제에서 "테스트"입니다 HttpRequestMessage
에서 변수 데이터를 얻을 수 있는지 알고 있습니다.WebApi HttpPost 본문 내용 null
방법 1 :
[System.Web.Http.HttpPost]
[Route("api/v1/AddItem")]
public IHttpActionResult AddItem([FromBody]string filecontent, string companycode)
{
MessageBox.Show(filecontent);
Return Ok("");
}
방법 2 (모델)
[System.Web.Http.HttpPost]
[Route("api/v1/AddItem")]
public IHttpActionResult AddItem([FromBody]ItemXML filecontent, string companycode)
{
MessageBox.Show(filecontent.XMLContent);
Return Ok("");
}
모델 :
public class ItemXML
{
public ItemXML(string content)
{
XMLContent = content;
}
public string XMLContent { get; set; }
}
방법 3 :
[System.Web.Http.HttpPost]
[Route("api/v1/AddItem")]
public IHttpActionResult AddItem(HttpRequestMessage filecontent, string companycode)
{
var content = filecontent.Content.ReadAsStringAsync().Result;
MessageBox.Show(content);
Return Ok("");
}
,
방법 3 내용 문자열 ("test"는 제공된 값입니다.) : "content"------ WebKitFormBoundarydu7BJizb50runvq0 \ r \ nContent-Disposition : form-data; 이름 = \ "를 포함한 FileContent \"\ 연구 \ 없음 \ 연구 \ n \ "테스트 \"\ 연구 \ n ------ WebKitFormBoundarydu7BJizb50runvq0 - \ 연구 \ 없음 "문자열"
요청 방법을 보여줍니다. JSON 또는 양식 데이터를 게시하고 있습니까? 파일 내용 매개 변수 이름 때문에 양식을 가정합니다 – Nkosi
두 방법으로 시도했지만 성공하지 못했습니다. – Alim