ほげたつブログ

プログラムとアニメーションをかじって生きてる

WebApi プラグイン ver.2.0 を公開しました

hogetatu.hatenablog.com

上記で開発したWebApiプラグインをバージョンアップしました。

プラグインコンセプト

READMEには書いてありますが、ここにも一応載せておきます。

  • HTTPモジュールのラッパー
  • API単位でクラス定義
  • 通信前、進捗、成功時、失敗時、完了時イベントの追加
  • 通信前、通信後に実行する処理をAPIクラスに複数追加できるフィルタ機能

フィルタ機能とは

フィルタ機能はAPIクラスで通信前後に処理を追加できる機能です。
これにより様々な Web API で使用できる汎用的な作りとなっています。

通信前フィルタでできること

  • 通信タイプ(GET、POST、PUT)を変更
  • リクエストパラメータの追加/削除
  • リクエストパラメータのフォーマット(JSON、MessagePack等)を変更

通信後フィルタでできること

  • レスポンスコードの変更
  • レスポンスのフォーマット(JSON、MessagePack等)を変更
  • レスポンスに対する独自パース処理の記述

バージョンアップでの変更内容

宣言通り、上記の対応を行っています。(そこそこ大きな更新です)
合わせていくつかのバグフィックスも入っています。

また、READMEも更新しました。

日本語
UE4Plugin_WebApi/README.jp.md at master · HogeTatu/UE4Plugin_WebApi · GitHub

英語
UE4Plugin_WebApi/README.md at master · HogeTatu/UE4Plugin_WebApi · GitHub

デモプロジェクトに関して

ようやく整備できました。
リポジトリに含まれる WebApiDemo がデモプロジェクトです。
「UE4_WebApi/WebApi」を「UE4_WebApi/WebApiDemo/Plugins」にコピーし、VisualStudioでビルド後、各デモAPIを実行することができます。

  • シンプルなGET通信
  • シンプルなPOST通信
  • JSON形式でのPOST通信
  • レスポンスをJSON形式で受け取ってパース
  • 失敗通信

www.youtube.com

今後について

一通り入れたいものは入れたので、後はプロジェクト毎に必要なものを PreFilter or PostFilter で用意すれば様々な条件に対応できるかと思います。
(汎用的なフィルタができたらぜひぜひプルリクをお願いします!)

そのため今後は更新頻度は下がると思いますが、保守対応はできるだけ行っていきます。

何かあったらTwitterで声掛けて下さい。
ほげたつ (@HogeTatu) | Twitter