클라이언트 웹 응용 프로그램의 개체를 클라이언트의 CRUD API에 게시하려고합니다. 내가 POST 요청하기 위해 다음 코드를 사용하고 있습니다 :HttpClient로 게시 할 때 내 게시물 데이터가 모두 null 인 이유는 무엇입니까?
var respP = await _client.PostAsync("api/Persons", new StringContent(JsonConvert.SerializeObject(person), Encoding.UTF8, "application/json"));
그리고 API 동작 방법은 간단 :
[HttpPost]
public async Task Post(Person person)
{
_db.Add(person);
await _db.SaveChangesAsync();
}
나는 _db.Add(person);
에 브레이크 포인트를하고이 명중 할 때, 나는 참조 person
에 null 이외의 Person
인스턴스를 가지고 있지만, 모든 필드는 기본값입니다 않는, 즉 nullables 다음과 같이 내 HttpClient
설정
등 null 인 :
_client.BaseAddress = _config["Api:Url"];
_client.DefaultRequestHeaders.Clear();
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
는 내가 원시 JSON을 볼 수 있는지 확인하기 위해 person
매개 변수 유형 string
을 시도했지만 역시하여 person
PARAM 자체가 null입니다.
내가 뭘 잘못하고 있니?
ADDED는 :
public class Person
{
[Key]
public int PersonId { get; set; }
[Required(AllowEmptyStrings = false)]
[StringLength(128)]
public string LastName { get; set; }
[Required(AllowEmptyStrings = false)]
[StringLength(128)]
public string FirstName { get; set; }
[Column(TypeName = "date")]
public DateTime BirthDate { get; set; }
[Required(AllowEmptyStrings = false)]
[StringLength(13)]
public string IdNumber { get; set; }
}
및 전달 된 실제 JSON입니다 : :이 Person
클래스는 다음과 같습니다
{
"PersonId": 0,
"LastName": "df",
"FirstName": "dfzg",
"BirthDate": "2017-12-01T00:00:00",
"IdNumber": "0000000000000"
}
나는이 주제에 떨어져 있기 때문에 일부 뇌 농양이 질문을 downvoted했다 참조하십시오. 내가 묻고있는 프로그래밍에 대해 더 많은 것이있을 수 있습니까? – ProfK