必要なAPI仕様の定義
3038 ワード
エンコードAPIサーバが必要になりました.(expressを使用)
でも何をコードしますか?まずブログで使用するAPIを定義します...
ブログにはどんなAPIが使われていますか?最終的にはブログの概念を大まかに定義しておきます...
ブログのシンプルな構造
MenuとArticleが存在する. Menuの間には階層があり、Menuには最大1人の親がいることができます.(サブメニューの数に制限はありません.) 自然に、親のいないMenuがトップクラスのMenuとなり、子供のいないMenuが葉Menuとなります. Menu階層の深さは最大3です. 葉MenuにはN個のArticleがあります. Articleは、1つのリーフMenuに属している必要があります.
APIは何が必要ですか?
GET/menus
インポート Menuリスト GET/articles
インポート Articleリスト まずMenuとArticleに必要なデータを考えてみましょう.
key Menu private key name Menu名 parent 親菜単鍵 children サブメニューキーリスト articles 私が持っているArticleキーリスト key Article private key title Articleタイトル contents Article本文 created
作成日 Article日付 menu 私の所属するMenu Key もちろん必要なデータはありますが、MenuとArticleの最低条件はそうでしょうか?
以上の内容に基づいて/menusおよび/articlesの詳細を定義します.
あ、ちなみに、すべてのAPIの応答はjson形式で返されます.
いくつかのMenuがないので、全てのデータを一度に渡すことができますが、ArticleはN個が存在すると仮定すると、全てのArticleを一度に取得する作業量が多くなります.(これも無駄です)
/articlesはページング方式を採用している.
GET/menus request- なし respone メニューリスト Menu - {} key - string (not null) name - string (not null) parent - string (default: '') children - string [] (default: []) articles - string [] (default: []) ex)
GET/articles request - parameter pageSize - number (default: 10)
1ページあたり 記事数 page - number (default: 0) 現在のページ menus - string (default: '') ターゲットMenuリスト 、Menuキーで を区切る
ex) response ドキュメントリスト Article - {} key - string (not null) title - string (not null) contents - string (default: '') created - string (not null) YYYYMMDDHHMMSS menu - string (not null) ex)
でも何をコードしますか?まずブログで使用するAPIを定義します...
ブログにはどんなAPIが使われていますか?最終的にはブログの概念を大まかに定義しておきます...
ブログのシンプルな構造
構造は簡単にしましょう.
APIは何が必要ですか?
まずMenulist&Article listのAPIを入力する必要がありますよね?
インポート
インポート
Menu Data
Article Data
作成日
以上の内容に基づいて/menusおよび/articlesの詳細を定義します.
あ、ちなみに、すべてのAPIの応答はjson形式で返されます.
いくつかのMenuがないので、全てのデータを一度に渡すことができますが、ArticleはN個が存在すると仮定すると、全てのArticleを一度に取得する作業量が多くなります.(これも無駄です)
/articlesはページング方式を採用している.
GET/menus
[
{key: 'menu 0', name: 'menu 0', chilrend: [], articles['article 0', 'article 1', ...]},
{key: 'menu 1', name: 'menu 1', chilrend: ['menu 11', 'menu 12', ...], articles[]},
...
]
GET/articles
1ページあたり
/articles?pageSize=10&page=0&menus=menu0,menu1
[
{key: 'article 0', title: 'title', contents: 'contents', created: '19851031052222', menu: 'menu 0'},
{key: 'article 1', title: 'title', contents: 'contents', created: '19851031053333', menu: 'menu 0'},
...
]
Reference
この問題について(必要なAPI仕様の定義), 我々は、より多くの情報をここで見つけました https://velog.io/@crazydj/블로그-직접-만들기-대작전-필요-API-스펙-정의テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol