Skip to content

API Document

tomokon edited this page Mar 7, 2021 · 26 revisions

https://sotesote.tkにAPIサーバーをホストしています。 Docker使える人はローカルでコンテナ起動すればhttp://localhostにホストされます。

フォーマット

  • URL(/api/以下の相対パス、モックのエンドポイントは/mock/の相対パス)
  • Method
  • 説明
  • Request
  • Response

エンドポイント

貸出系

貸出登録

  • /lending
  • POST
  • 貸す人が貸出情報の登録をする。
Authorization: Bearer <貸す人のアクセストークン>

{
  'content': string (貸したもの),
  'deadline': Datetime (期限)
}
{
  'lending_id': int (作成された貸出id)
}

借りた人登録

  • /lending/{貸出id<string>}
  • PUT
  • 貸出idで指定された貸出情報に、借りた人(アクセストークンから取得)を紐付ける.
Authorization: Bearer <借りた人のアクセストークン>
{
  'lending_id': int (貸出id),
  'content': string (借りたもの),
  'deadline': Datetime (期限),
  'owner_name': string (貸した人の名前)
}

貸したもの一覧取得

  • /owner/lending
  • GET
  • あるユーザの貸したものの一覧を取得する
Authorization: Bearer <貸した人のアクセストークン>
{
  'lending_list': [
                 {
                   'lending_id': int (貸出id),
                   'content': string (貸したもの),
                   'deadline': Datetime (期限),
                   'borrower_name': string (借りた人の名前)
                 },
                 ...
                 ]
}

借りたもの一覧取得

  • /borrower/lending
  • GET
  • あるユーザの借りたものの一覧を取得する
Authorization: Bearer <借りた人のアクセストークン>
{
  'lending_list': [
                 {
                   'lending_id': int (貸出id),
                   'content': string (貸したもの),
                   'deadline': Datetime (期限),
                   'owner_name': string (貸した人の名前)
                 },
                 ...
                 ]
}

返却報告

  • /lending/{貸出id}
  • DELETE
  • 貸出情報のステータスを返却済みにする。アクセストークンから取得したユーザと、貸出idで指定された貸出情報のownerIdのユーザが一致するか検証する。
Authorization: Bearer <貸した人のアクセストークン>
{
  'lending_id': int (貸出id),
  'borrower_name': string (借りた人の名前),
  'content': string (貸すもの),
  'deadline': Datetime (期限)
}

フレンド系

フレンド登録

  • /friend
  • POST
  • 二人のユーザーをフレンド登録する
Authorization: Bearer <ユーザー1のアクセストークン>,<ユーザー2のアクセストークン>
{
}
{
  'user_name_1': string (ユーザー1の名前),
  'user_name_2': string (ユーザー2の名前)
}

フレンド解除

  • /friend
  • DELETE
  • フレンド登録を解除する
Authorization: Bearer <ユーザー1のアクセストークン>,<ユーザー2のアクセストークン>
{
}
{
  'user_name_1': string (ユーザー1の名前),
  'user_name_2': string (ユーザー2の名前)
}

借りたいものリスト系

借りたいものを登録

  • /want-to-borrow
  • POST
  • ユーザーの借りたいものリストに項目を追加する
Authorization: Bearer <ユーザーのアクセストークン>
{
  content: string (借りたいもの)
}
{
  'want_to_borrow_id: int (追加された借りたいもののid)
}

借りたいものリストを取得

  • /want-to-borrow
  • GET
  • 指定されたユーザーの借りたいものリストを取得する
Authorization: Bearer <ユーザーのアクセストークン>
{
}
{
  'want_to_borrow_list: [
    {
      'id': int (借りたいもののid),
      'content': string (借りたいもの)
    },
    ...
  ]
}

借りたいもの削除

  • /want-to-borrow/<借りたいもののid>
  • DELETE
  • 借りたいものリストから指定した項目を削除する
Authorization: Bearer <ユーザーのアクセストークン>
{
}
{
  'content': string (削除された借りたいもの)
}

エンドポイント(bot)

  • /bot/~~~


Clone this wiki locally