Araki / CouplingServer

0 stars 0 forks source link

APIの検討 #5

Open ofl opened 11 years ago

ofl commented 11 years ago

APIの検討の過程をここに記入していくのでご意見等お願いします。

ofl commented 11 years ago

TwitterのAPI( https://dev.twitter.com/docs/api/1.1 )を参考にAPI仕様の基本ルールを明確にしておく。

  1. リソース(User,Message,Likeなど)は複数形で表す。(ex. favorites/list)
  2. リソースの作成や修正を伴うものはPOST、リソースを変更しない操作はGET。
  3. 基本操作 一覧: GET xxxx/list 詳細: GET xxxx/show/:id 作成: POST xxxx/create 修正: POST xxxx/update/:id 削除: POST xxxx/destroy/:id 検索: GET xxxx/search
  4. 自分のアカウントに対する操作は account/xxxx
  5. 他のユーザーの参照等はusers/xxxx
  6. 基本操作で表現できない、または重複してしまう操作のみ独自のアクション名を決める。

※ 以下独自ルールとして

  1. ユーザーを特定するIDはuser_idに統一(facebook_idは使用しない)。
ofl commented 11 years ago

GET session/create => POST sessions/create

GET session/verify => sessions/verify

GET session/destroy => POST sessions/destroy

GET profile/show => account/show_profile (twitter apiに準拠)

POST profile/update => account/update_profile (twitter apiに準拠)

POST upload/image_parameter => images/upload_parameter

POST upload/image_url => images/image_url (多分不要)

GET user/list => users/list

<<追加>> => GET users/show/:id

POST like/add => likes/create

GET likes/show => いらない。

<<追加>>   => GET likes/list

POST message/new => messages/create

GET messages => messages/list

GET item/buy => POST items/purchase

GET point/add => POST points/add

GET point/consume => POST points/consume

GET apns/establish => POST apns/establish

ofl commented 11 years ago

すでに作成が進んでいるものについて変更をお願いするようになり申し訳ございませんが、できれば上記のようなルールで今後のAPIの実装をすすめていければと思います。

またパラメーターやレスポンスの値にも今後修正をお願いしていくようになると思いますがよろしくお願いします。

特に異論がでなければWikiにも反映させていきたいと思います。

uniom commented 11 years ago

API仕様について了解しました。

画像についてはホスティングにS3を使用します。 現状の実装では、upload/image_urlというAPIで画像のURLを取得するようになっていますが、 profile/show, user/listの結果に画像のURLを含めるようにしたいです。

画像をアップロードするAPIについても適宜、仕様を変更してもらって構いません。

ofl commented 11 years ago

ユーザーの性格など複数から選ぶものについて、選択肢のリストを返すようなAPIが必要でしょうか?

[ユーザー] 性格 趣味 特技

[グループ] グループのイメージ 可能な曜日 都道府県

uniom commented 11 years ago

・選択肢のリストを返すようなAPI 特に必要ないです。

あと、誠に申し訳ないのですが、 複数選択できるプロフィールはserialize :xxxx, Arrayの形にしてもらえますでしょうか? 例 serialize :hobbies, Array

ここまできての仕様変更で申し訳ございません。 重ねてお詫び申し上げます。