このドキュメントでは、 Fess の v2 お気に入り API について説明します。 共通のレスポンスエンベロープ・エラーモデル・CSRF については APIの概要 を参照してください。
ベースURLは http://<Server Name>/api/v2/ です(ローカル環境の例: http://localhost:8080/api/v2 )。
注釈
お気に入り機能を利用するには、 user.favorite 設定が有効である必要があります(デフォルトは無効)。
お気に入りドキュメント一覧の取得
リクエスト
| HTTPメソッド | GET |
| エンドポイント | /api/v2/favorites |
query_id で識別される検索結果のうち、呼び出しユーザーが過去にお気に入り登録したドキュメントの ID を返します。 query_id は検索 API ( /search )が返す不透明な識別子( query_id フィールド)です。
匿名の呼び出し元(セッションに紐づくユーザーコードがない場合)は auth_required (401) になります。 user.favorite 機能が無効のときは invalid_request (400) になります。 query_id がセッション内のキャッシュされた結果セットに一致しないときは、 200 と空の data 配列を返します。
リクエストパラメーター
表: リクエストパラメーター
レスポンス
成功時(200)は、共通エンベロープの response 直下に以下のフィールドが返ります。
各フィールドについては以下の通りです。
record_count | data 内のお気に入りドキュメント数(int)。 |
data | クエリ対象の結果セット中のお気に入りドキュメントを、検索結果の順序を保って返す配列。各要素は {doc_id} 。 |
表: レスポンスフィールド
エラーレスポンス
エラーモデルの詳細は APIの概要 を参照してください。このエンドポイントが返す HTTP ステータスは以下の通りです。
表: エラーレスポンス
お気に入り状態の取得
リクエスト
| HTTPメソッド | GET |
| エンドポイント | /api/v2/documents/{docId}/favorite |
指定したドキュメントのお気に入り状態を取得します。
匿名(未認証)の呼び出し元もこのエンドポイントを利用できます。その場合、 favorite は false を返しますが、 count には保存されているお気に入り数がそのまま返されます(このため、このエンドポイントは 401 を返しません)。 お気に入り機能( user.favorite )が無効な場合は invalid_request (400) になります。
リクエストパラメーター
表: リクエストパラメーター
レスポンス
成功時(200)は、共通エンベロープの response 直下に以下のフィールドが返ります。
各フィールドについては以下の通りです。
表: レスポンスフィールド
エラーレスポンス
エラーモデルの詳細は APIの概要 を参照してください。このエンドポイントが返す HTTP ステータスは以下の通りです。
| ステータスコード | 説明 |
| 400 Bad Request | リクエストが不正な場合。 |
| 404 Not Found | リソースが見つからない場合。 |
| 405 Method Not Allowed | HTTP メソッドが許可されていない場合。 |
| 500 Internal Server Error | サーバー内部エラーが発生した場合。 |
表: エラーレスポンス
お気に入りの登録
リクエスト
| HTTPメソッド | POST |
| エンドポイント | /api/v2/documents/{docId}/favorite |
指定したドキュメントをお気に入りに登録します。 状態を変更するリクエストのため、 X-Fess-CSRF-Token ヘッダーが必要です( APIの概要 を参照)。 また、呼び出しユーザーが認証されている必要があります。匿名の呼び出し元は auth_required (401) になります。
query_id は、対象ドキュメントが直近の検索結果に含まれることを確認するために使用されます。 query_id がセッション内のキャッシュされた結果セットに一致しない場合は invalid_request (400) 、 docId がその結果セットに含まれない場合は not_found (404) になります。
リクエストパラメーター
表: リクエストパラメーター
リクエストボディ
Content-Type: application/json (文字コードは UTF-8)で、以下のフィールドを持つ JSON (FavoritePostRequest)を送信します。リクエストボディの最大サイズは 1 KiB(1024 バイト)です。これを超える場合は payload_too_large (413) になります。
表: リクエストボディ
レスポンス
成功時(200)は、共通エンベロープの response 直下に以下のフィールドが返ります。
各フィールドについては以下の通りです。上記は新規登録時の例です。お気に入りが過去に登録済みだった(冪等な再 POST の)場合は、これに加えて already_existed フィールド( true )が返ります。
表: レスポンスフィールド
エラーレスポンス
エラーモデルの詳細は APIの概要 を参照してください。このエンドポイントが返す HTTP ステータスは以下の通りです。
表: エラーレスポンス