APIドキュメントの効率的なコード変換手法
外部APIとの連携を行う際、仕様書がJSON形式ではなく表形式で提供されるケースは珍しくありません。このような場合、手動でC#のデータモデルを作成するのは時間の無駄です。ここでは、HTMLの表データを元に、属性付きのC#プロパティを一括生成する方法を紹介します。
目的とする出力形式
以下のような、JsonProperty属性とXMLコメントを含むプロパティ定義を自動生成することを目指します。
/// <summary>
/// 直播間名称(最大40文字)
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
変換用スクリプトの実装
以下のHTMLファイルを作成し、対象の表を貼り付けて実行することで、コンソールに出力されたコードをそのままC#クラスに利用できます。
使用方法
- API提供元のドキュメントから表をコピー
- 下記のテンプレートに貼り付け、ブラウザで開く
- 開発者ツールのコンソールから生成されたコードをコピー
- C#プロジェクト内のモデルクラスにペースト
ベースとなるHTML構造
<html>
<head>
<meta charset="utf-8">
<title>Table to C# Converter</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<!-- 上記スクリプトをここに挿入 -->
</head>
<body>
<!-- ここに対象のtableを貼り付け -->
<table>
<tr><th>パラメータ</th><th>説明</th><th>備考</th></tr>
<tr><td>userid</td><td>CCアカウントID</td><td></td></tr>
<!-- 以降省略 -->
</table>
</body>
</html>
活用による生産性向上
繰り返し発生するマッピング作業は自動化すべき領域です。この手法により、数十個のフィールドを持つAPIでも数秒でモデルクラスを生成可能になります。開発者はビジネスロジックの実装に集中でき、ミスも大幅に減少します。