C#のウェブサービスでJSONデータを送信する方法は何ですか?

C#では、ASP.NET Web APIを使用してJSONデータを作成および処理することができます。

最初に、JSONデータを処理して返すWeb APIコントローラーを作成する必要があります。[ApiController]属性を持つクラスを使用してWeb APIコントローラーを作成できます。コントローラー内では、さまざまなメソッド(Get、Post、Put、Deleteなど)を使用してさまざまな種類のリクエストを処理できます。

以下是例子控制器,它会返回一个JSON对象:

[ApiController]
public class MyController : ControllerBase
{
    [HttpGet]
    [Route("api/mydata")]
    public IActionResult GetMyData()
    {
        // 创建一个JSON对象
        var data = new
        {
            Name = "John",
            Age = 25,
            Email = "john@example.com"
        };

        // 将JSON对象作为响应返回
        return Ok(data);
    }
}

上記の例で、コントローラーはHttpGet属性を使用してGETリクエストを処理することを指定し、Route属性はAPIのルートパスを定義します。GetMyDataメソッドはJSONオブジェクトを作成し、Okメソッドを使用してそれを応答として返します。

次に、Web API をサポートするようにアプリケーションを設定する必要があります。Startup.cs ファイルの ConfigureServices メソッドに、以下のコードを追加して Web API を有効にし、JSON シリアル化オプションを構成します。

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers().AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.PropertyNamingPolicy = null;
        options.JsonSerializerOptions.DictionaryKeyPolicy = null;
    });
}

上記のコードでは、JSONシリアライズオプションを構成するためにAddJsonOptionsメソッドが使用されています。この例では、プロパティ命名ポリシーとディクショナリーのキー命名ポリシーをnullに設定して、プロパティとキーの元の命名を保持しています。

最後に、Startup.csファイルのConfigureメソッドに以下のコードを追加して、Web APIルートを有効にします。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseRouting();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

上記の手順を経て、あなたのC# Web APIは今、リクエストを処理し、JSONデータを返すことができます。ブラウザやその他のクライアントアプリケーションを使用してリクエストを送信し、JSONレスポンスを受け取ることができます。

bannerAds