- データのやり取りはすべてJSONを使います
- APIには認証が必要なものもあります(ログインが必要)
- ユーザ登録します:
/api/signup
- ログインします:
/api/login
- レスポンスヘッダーの
X-AUTH-TOKEN
にトークンがセットされます
- ログイン失敗時は200以外のHttpコードが返ります
- トークンはCookieとかに突っ込んどくと都合がいいと思います
- リクエストヘッダの
X-AUTH-TOKEN
にトークンをセットして、使いたいAPIを叩きます
トークンには有効期限がある(今の所5時間)ので、認証が必要なAPIを叩いて403が返ってきたらログインし直してください
- ユーザ登録するときにサーバ内部で以下の正規表現をかけています
- マッチしないと400が返されます
KEY |
説明 |
正規表現 |
nameId |
ログイン用ID |
^\w{5,15}$ |
name |
表示名 |
^[0-9a-zA-Zぁ-んァ-ヶ一-龠々ー]{1,50}$ |
password |
パスワード |
^.{6,} |
- ISO 8601形式です
yyyy-MM-ddTHH:mm:ss
- e.g.
2021-05-28T07:49:09
テスト用です
サーバが生きてるかどうかの確認ができるくらいの用途
常にHello
を返します
(そのうち消す)
KEY |
説明 |
型 |
nameId |
ログイン用ID |
String |
name |
表示名 |
String |
password |
パスワード |
String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
409 |
nameIdが重複している |
- ログインします
- 成功時はレスポンスヘッダの
X-AUTH-TOKEN
にトークンがセットされています
KEY |
説明 |
型 |
nameId |
ログイン用ID |
String |
password |
パスワード |
String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
401 |
IDかパスワードが違う |
- パラメータが一致するユーザの情報を取得します
- パラメータはどちらか一方を指定してください
- 両方指定された場合は
nameid
が優先されます
KEY |
説明 |
型 |
nameid |
ログイン用ID |
String |
id |
内部ID |
Int |
KEY |
説明 |
型 |
userId |
内部ID |
Int |
nameId |
ログイン用ID |
String |
name |
表示名 |
String |
createdAt |
作成日時 |
時刻:String |
updatedAt |
更新日時 |
時刻:String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
404 |
一致するユーザが無い |
KEY |
説明 |
型 |
nameid |
ログイン用ID |
String |
KEY |
説明 |
型 |
userId |
内部ID |
Int |
nameId |
ログイン用ID |
String |
name |
表示名 |
String |
createdAt |
作成日時 |
時刻:String |
updatedAt |
更新日時 |
時刻:String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
404 |
一致するユーザが無い |
KEY |
説明 |
型 |
name |
検索する表示名 |
String |
KEY |
説明 |
型 |
userId |
内部ID |
Int |
nameId |
ログイン用ID |
String |
name |
表示名 |
String |
createdAt |
作成日時 |
時刻:String |
updatedAt |
更新日時 |
時刻:String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
404 |
ヒット件数=0 |
単語帳を新規登録します
同一タイトルは許容されます(変えたほうがいい?)
KEY |
説明 |
型 |
titile |
タイトル |
String |
public |
公開する |
String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
GETパラメータを指定しない場合、自ユーザの単語帳を取得します
GETパラメータで指定したユーザの単語帳を取得します
他ユーザを取得するとき、公開状態の単語帳のみ取得されます
KEY |
説明 |
型 |
userid |
ユーザID |
String |
KEY |
説明 |
型 |
bookId |
内部ID |
Int |
userId |
作成者ID |
Int |
title |
タイトル |
String |
public |
公開状態 |
Boolen |
createdAt |
作成日時 |
時刻:String |
updatedAt |
更新日時 |
時刻:String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
404 |
存在しない |
指定した内部IDの単語帳を取得します
KEY |
説明 |
型 |
bookId |
内部ID |
Int |
userId |
作成者ID |
Int |
title |
タイトル |
String |
public |
公開状態 |
Boolen |
createdAt |
作成日時 |
時刻:String |
updatedAt |
更新日時 |
時刻:String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
404 |
存在しない |
単語帳をタイトルで検索します
KEY |
説明 |
型 |
title |
検索するタイトル |
String |
KEY |
説明 |
型 |
bookId |
内部ID |
Int |
userId |
作成者ID |
Int |
title |
タイトル |
String |
public |
公開状態 |
Boolen |
createdAt |
作成日時 |
時刻:String |
updatedAt |
更新日時 |
時刻:String |
CODE |
説明 |
200 |
OK |
400 |
フォーマットが不正 |
404 |
存在しない |
テスト用です
認証が必要なのでX-AUTH-TOKEN
がセットできているとか,トークンが生きているとか確認できます
認証できていればvalid
を返します
できていなければ403
(そのうち消す)
テスト用です
ユーザ一覧を取得します(最大300件)
(そのうち消す)
テスト用です
公開状態関わらず単語帳一覧を取得します(最大300件)
(そのうち消す)