開発環境:VisualStudio2019
フレームワーク:.NET 4.7.2
言語:VisualBasic
通信時のURL:https://localhost:44385/api/ApiTest
WEBAPIの開発をしております。
リクエストしたときに、VisualStudio上のIIS Expressを押した後のブラウザではJSONデータが表示されるのに対して、PostmanやVisualStudioの拡張機能のREST Cliant では204のNo Contentsが返ってきて、JSONデータが返ってきません。
通信はできているのですが、JSONデータを返さないのが分かりません。
リクエスト時のURLに問題はありませんが、お分かりになりましたがご教授頂けますと幸いです。
VisualBasic
1RouteConfig.vb 2Public Module RouteConfig 3 Public Sub RegisterRoutes(ByVal routes As RouteCollection) 4 routes.IgnoreRoute("{resource}.axd/{*pathInfo}") 5 6 routes.MapRoute( 7 name:="Default", 8 url:="{controller}/{action}/{id}", 9 defaults:=New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional} 10 ) 11 End Sub 12End Module
VisualBasic
1WebApiConfig.vb 2Public Module WebApiConfig 3 Public Sub Register(ByVal config As HttpConfiguration) 4 ' Web API の設定およびサービス 5 6 'jsonをブラウザで表示させる 7 config.Formatters.JsonFormatter.SupportedMediaTypes.Add(New System.Net.Http.Headers.MediaTypeHeaderValue("text/html")) 8 ' Web API ルート 9 config.MapHttpAttributeRoutes() 10 11 config.Routes.MapHttpRoute( 12 name:="DefaultApi", 13 routeTemplate:="api/{controller}/{id}", 14 defaults:=New With {.id = RouteParameter.Optional} 15 ) 16 End Sub 17End Module
VisualBasic
1Public Class ApiTestController 2 Inherits ApiController 3 4 ' GET: api/ApiTest 5 Public Function GetValues() As IEnumerable(Of String) 6 Return New String() {"value1", "value2"} 7 End Function 8 9 ' GET: api/ApiTest/5 10 Public Function GetValue(ByVal id As Integer) As String 11 Return "value" 12 End Function 13 14 ' POST: api/ApiTest 15 Public Sub PostValue(<FromBody()> ByVal value As String) 16 17 End Sub 18 19 ' PUT: api/ApiTest/5 20 Public Sub PutValue(ByVal id As Integer, <FromBody()> ByVal value As String) 21 22 End Sub 23 24 ' DELETE: api/ApiTest/5 25 Public Sub DeleteValue(ByVal id As Integer) 26 27 End Sub 28 End Class
Send Request POST https://localhost:44385/api/ApiTest HTTP/1.1 content-type: application/json { "name": "sample", "time": "Wed, 21 Oct 2015 18:27:50 GMT" }
WEBAPIを作成する際に参考にしたサイト:
https://www.dcast01.com/vb-net-rest-api2/
回答2件
あなたの回答
tips
プレビュー