[VB.NET] REST API② WebAPIプロジェクトを実行する

2021年10月7日

前回作成したAPIプロジェクトを使って、ブラウザからAPIのGETを呼び出してみましょう。
※ VisualStudio2019

APIをブラウザから呼び出してみる

まずはデフォルトで作成されている「Values」コントローラを見てみましょう。

ソリューションエクスプローラで、「Controllers」>「ValuesController.vb」を開きます。

以下のようなコードが書かれています。

Imports System.Net
Imports System.Web.Http

Public Class ValuesController
    Inherits ApiController

    ' GET api/values
    Public Function GetValues() As IEnumerable(Of String)
        Return New String() {"value1", "value2"}
    End Function

    ' GET api/values/5
    Public Function GetValue(ByVal id As Integer) As String
        Return "value"
    End Function

    ' POST api/values
    Public Sub PostValue(<FromBody()> ByVal value As String)

    End Sub

    ' PUT api/values/5
    Public Sub PutValue(ByVal id As Integer, <FromBody()> ByVal value As String)

    End Sub

    ' DELETE api/values/5
    Public Sub DeleteValue(ByVal id As Integer)

    End Sub
End Class

このコントローラの「GET api/values」を実際に呼び出して、"value1″, “value2″という結果を取得します。

「IIS Express(ブラウザ名)」クリック、またはF5キーで実行します。

実行するとブラウザが起動して、APIのホームページが表示されます。

アドレスバーのURLに「/api/values」と追加して、Enterキーを押してAPIを呼び出します。

ブラウザにXMLが出力され、"value1″, “value2″が取得されているのが確認できます。

JSON形式で表示してみる

初期状態ではXML形式で表示されますが、JSON形式で表示することもできます。

ソリューションエクスプローラで、「App_Start」>「WebApiConfig.vb」を開きます。

以下のようなコードが書かれています。

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web.Http

Public Module WebApiConfig
    Public Sub Register(ByVal config As HttpConfiguration)
        ' Web API の設定およびサービス

        ' Web API ルート
        config.MapHttpAttributeRoutes()

        config.Routes.MapHttpRoute(
            name:="DefaultApi",
            routeTemplate:="api/{controller}/{id}",
            defaults:=New With {.id = RouteParameter.Optional}
        )
    End Sub
End Module

JSON形式で表示するためのコードを追加します。

コード

        'jsonをブラウザで表示させる
        config.Formatters.JsonFormatter.SupportedMediaTypes.Add(New System.Net.Http.Headers.MediaTypeHeaderValue("text/html"))

先ほどと同じようにブラウザから呼び出すと、JSON形式で表示されます。


今回はブラウザから実際にAPIを呼び出してみました。
VisualStudionoは実行して確認できるアプリが簡単に作成できるのが良いですね。