なか日記

一度きりの人生、楽しく生きよう。

受付アプリ:参加者登録用のWebAPIを公開

「参加者登録は手入力でよろしく」という謎仕様で見るに見かねてらまっこさんがツールを作ってくれていました。

そんな中、自分の勉強兼ねてWebAPIを作ってみました。 とはいっても、VisualStudioがスキャフォールディングで大体作ってくれる*1ので殆ど何もしてませんけどね。

参加者を登録する場合

下記URLにPOSTして下さい。

POSTするデータは以下のようなJSON形式です。

{
    "Participant": {
        "Name": "nakaji", 
        "ImageUrl": "htttp://example.com/nakaji/image.gif", 
        "IsStudent": true, 
        "SocialGathering": true
        "IsMinors": true, 
        "IsConcerned": true, 
        "IsInstructor": true, 
        "IsStaff": true, 
        "CheckedIn": false, 
    }, 
    "StudyMeetingId": 1
}

パラメータの説明

こんな感じ。

Participant(参加者情報)

パラメータ 説明
Name 名前
ImageUrl イコン画像のURL
IsStudent 学生(true/false)
SocialGathering 懇親会参加(true/false)
IsMinors 未成年(true/false)
IsConcerned 会場関係者(true/false)
IsInstructor 講師(true/false)
IsStaff スタッフ(true/false)
CheckedIn 受付済みかどうか(true/false) ※通常はfalse

StudyMeetingId(勉強会ID)

どの勉強会かを指定します。

やってみて

いざやってみるとどういう風にURLやパラメータをデザインしたらいいかで悩みました。

「Aという勉強会に参加者を登録する」のAをどう指定するか。Entity Frameworkのモデルをそのまま使おうとしたので、今回は上のようにしましたが、正式にはWebAPI用のモデルを作成するべきなのかなぁ。とか。そんな話を気軽に相談できるお友達が欲しいです。

↓とかにヒントがあるんだろうか

Designing Evolvable Web APIs with ASP.NET

Designing Evolvable Web APIs with ASP.NET

それにしても、電子書籍安いですね。紙媒体が4,655円で電子書籍が1,762円って…

ここまでやって気が付いた

このAPIをたたくアプリがいるやん(´・ω・`)

追記

速攻ツッコまれたw

というわけで、勉強会一覧ページに勉強会IDを表示するようにしました。

こういう問題ではないのかもしれないが・・・

*1:Visual Studioステキ!