VB에서 API 연결자 클래스를 만들고 있습니다.테스트 API 게시 전달 <Frombody()> 클래스 - 항상 NULL
Public Function Post(<FromBody()> ByVal value As String) As String
Return value
End Function
내가 HTTP 도구 (파이어 폭스 확장)에서 POST 요청을 보내, 내가 함수에 가서 볼 수 있지만 value
은 항상 비어 : 나는 그것에 아주 간단한 기능을 가지고있다. 나뿐만 아니라 피들러 4에서이 시도
RouteTable.Routes.MapHttpRoute(name:="Post", routeTemplate:="post", defaults:=New With {.symbol = RouteParameter.Optional, .controller = "Names"})
,하지만 난 얻을 : Application-Start()
에서 Global.ASAX.vb
에서
config.Routes.MapHttpRoute(
name:="Names",
routeTemplate:="{controller}/{id}",
defaults:=New With {.id = RouteParameter.Optional}
그리고이 :
내 WebApiConfig.vb
이이
{ "메시지": "요청에 엔티티 b가 포함되어 있습니다. ody하지만 Content-Type 헤더가 없습니다. 유추 된 미디어 유형 'application/octet-stream'이이 리소스에 대해 을 지원하지 않습니다. ","ExceptionMessage ":"No MediaTypeFormatter는 미디어 유형이 인 콘텐츠에서 'String'유형의 개체를 읽을 수 있습니다. 'application/"System.Net.HttpContentExtensions.ReadAsAsync [T] (HttpContent 콘텐츠, 형식 형식, IEnumerable ')에서 의 System.Net.Http.UnsupportedMediaTypeException,"StackTrace ":" 1 포매터 IFormatterLogger formatterLogger, CancellationToken cancellationToken) \ R \ n 에서 System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync (HttpRequestMessage 요청 타입 타입 IEnumerable을 '1 포매터 IFormatterLogger formatterLogger, CancellationToken cancellationToken) "}
아니면 내가 헤더의 내용 유형을 설정하려고 할 때 얻을 :
없음 MediaTypeFormatter가 만족에서 '문자열'형식의 개체를 읽을 수 있습니다 미디어 유형 ...
여기서 < ...> 내가 설정 한 미디어 유형입니다.
어떻게이 간단한 POST 작업을 수행합니까?
아마도이 질문에 대한 답변은 상당히 괜찮습니다. 그러나, 나는 다른 길을 갔다. 그리고 정말로 답을 제공하면서 시간을 재검토하는 시간을 정당화 할 수 없다. 희망을 갖고 다른 사람이 유용하다고 생각하기를 바랍니다. – Jeroen