웹 API 프로젝트에서 작업 중이며 데이터베이스 작업을 수행하는 데 막대한 작업을 사용하고 있습니다. 내 컨트롤러에서 Post 메서드가 동적 개체를 받아서 Massive Insert
메서드에서 직접 사용할 수있게하려고합니다. 웹 API 메서드에서 동적 매개 변수 사용
public class LinkController : ApiController
{
public IHttpActionResult Post(dynamic link)
{
dynamic model = new Massive.DynamicModel("main", tableName: "Links", primaryKeyField: "Id");
return Ok(model.Insert(link));
}
}
그리고 POST에
다음과 같은 JSON이 전송 요청 :{
"Name":"StackOverflow",
"Url":"http://www.stackoverflow.com",
"Description":"My most visited web site!",
"FolderId":2
}
내 문제는 방법 JSON.Net이 JSONs를 직렬화 복원합니다. Post
메서드가 호출 될 때 link 매개 변수는 예상대로 의 4 가지 속성을 갖지만 Newtonsoft.Json.Linq.JValue 형식의 일부 기본 형식 (Name에 대한 예제 문자열)이 아니며 Massive는 JValue 개체를 처리 할 수 없습니다.
사용자 지정 JsonConverter를 만들고 웹 API 모델 바인딩을 조정하여 매개 변수에 해당 속성의 기본 형식을 지정해야합니다.
답장을 보내 주셔서 감사합니다. 나는 그것을 시도했지만 불행히도 아무것도 바뀌지 않았다. –
@ FarzanHajian 이것이 불가능한 일이다. 이것이 내가이 일을하기 위해 내 자신의 WebAPI를 구성하는 방법이다. –