2020年7月2日のブックマーク (12件)

  • RESTアンチパターン

    人々がRESTに挑戦しようとすると、通常、実例を探し始めます。そして、「RESTful」であると主張している多くの実例を探したり、「REST API」と名づけたりするだけでなく、RESTを行っていると主張する特定のサービスが何故失敗するのかに関する多くの議論を集めています。 何故、このようなことが起こるのでしょうか? HTTPは新しいものではありません。しかし、それは様々な方法で適用されています。それらのいくつかはWebデザイナが考えていたことと一致していますが、その多くは異なります。人が利用する、他のプログラムによって利用される、あるいはその両方の目的でそれらを構築するかどうかによらず、あなたのHTTPアプリケーションにRESTの原則を適用するということは、あなたがまさにあべこべのことをするということを意味します。つまり、あなたは「正しく」Webを利用しようとしているのです。あなたがその

    RESTアンチパターン
    sion0808
    sion0808 2020/07/02
    RESTでやっちゃいけないこと
  • SPA+REST APIにおけるセッションを使った認証の実践例 | Fintan

    はじめに このドキュメントは、SPA+REST APIで構築したシステムの認証方法を、事例としてまとめたものになります。 ドキュメントが、SPA+REST APIにおける認証の実現方式のひとつとして、今後開発を行うシステム、プロジェクトの参考情報となることを目的としています。 なお、このドキュメントに記載しているシステムは開発中のものであり、実際に運用されているシステムではありません。その点については、ご留意のうえ、構成例としてドキュメントを参照いただければと思います。 このドキュメントは、SPA+REST APIのシステム構成例(AWS)のアプリケーションの認証部分にフォーカスして記載したものです。 以下のような用語についての説明は、ドキュメントでは行いません。事前に知識を持っている、もしくは必要に応じて他の資料、情報などを参照していただくことを前提とし、構築したアプリケーションと方

    SPA+REST APIにおけるセッションを使った認証の実践例 | Fintan
    sion0808
    sion0808 2020/07/02
    認証方法の参考になるカモ🦆
  • 我々は、なぜ設計書を作成するのか

    はじめに 先日、「設計書の書き方」セミナーで、設計の効率化&品質向上のために下記3つのうちどれが一番大切だと思うかを聞いてみました。みなさんなら、どれを選びますか。 (A)設計スキルを教育する(B)設計の標準化を進める(C)設計ツールを導入する システム設計ツール(CAD)を自らの効率化のために作った身からすると、今こそ(C)は重要だと思っています。しかし、そんな私でもこの3つはどれも大切で、どれが一番とは甲乙つけがたいものと感じています。 内心、票が割れるかなと思っていたのですが、結果は(B)の標準化に手を上げる人が圧倒的に多くいました。 それほど多くの人々が重要視している設計書の標準化ですが、その割にはチームごと、部署ごとにフォーマットがバラバラで、「組織単位で設計書を標準化できている」と胸を張れる会社は多くありません。そこで、令和時代の設計書の標準とはどうあるべきかをテーマにしている

    我々は、なぜ設計書を作成するのか
    sion0808
    sion0808 2020/07/02
    あら~^いい記事
  • API Blueprintで爽やかなAPI仕様書を作る - Ponz Dev Log

    ローカルで動かそうがDockerで動かそうが、APIを持つアプリを作るとなると自然と一覧が欲しくなるもの。 できれば型や仕様書のフォーマットを... ブラウザで見れる&修正後はDiffが取れる形で欲しいですね。 (自分の関わってたプロジェクトだとExcelにペタペタ定義を書くor貼る仕様書でした。古いとこだと一太郎で作ってた。一太郎2018ってあるんだぜ) [一太郎] ... フォントや段組機能は好きです www.justsystems.com そこでAPI仕様書を簡単に作ろうと思った時に当たった選択肢が、Swagger or API Blueprintでした。 今回はAPI Blueprint触った感じを書きます。 [API Blueprint] API Blueprint | API Blueprint [Swagger] ... こっちの方が The World's Most Pop

    API Blueprintで爽やかなAPI仕様書を作る - Ponz Dev Log
    sion0808
    sion0808 2020/07/02
    手元の環境で動かねえよぉ。
  • 0からREST APIについて調べてみた - Qiita

    REST APIの概要 ★REST APIとは RESTful API(REST API)とは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTと呼ばれる設計原則に従って策定されたもの。RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをRESTful APIと呼んでいる。 RESTful APIでは、URL/URIですべてのリソースを一意に識別し、セッション管理や状態管理などを行わない(ステートレス)。同じURLに対する呼び出しには常に同じ結果が返されることが期待される。 また、リソースの操作はHTTPメソッドによって指定(取得ならGETメソッド、書き込みならPOSTメソッド)され、結果はXMLやHTML、JSONなどで返される。また、処理結果はHTTPステータスコードで通知するとい

    0からREST APIについて調べてみた - Qiita
    sion0808
    sion0808 2020/07/02
    処理にURLを対応づけてはいけない。メソッドで差をつけろ
  • 0からREST APIについて調べてみた - Qiita

    REST APIの概要 ★REST APIとは RESTful API(REST API)とは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTと呼ばれる設計原則に従って策定されたもの。RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをRESTful APIと呼んでいる。 RESTful APIでは、URL/URIですべてのリソースを一意に識別し、セッション管理や状態管理などを行わない(ステートレス)。同じURLに対する呼び出しには常に同じ結果が返されることが期待される。 また、リソースの操作はHTTPメソッドによって指定(取得ならGETメソッド、書き込みならPOSTメソッド)され、結果はXMLやHTML、JSONなどで返される。また、処理結果はHTTPステータスコードで通知するとい

    0からREST APIについて調べてみた - Qiita
    sion0808
    sion0808 2020/07/02
    処理にURLを対応づけてはいけない
  • RestfulApiの設計書 - Qiita

    { "message" : "Validation failed", "errors" : { "identify" : [ "The identify is invalid format", "The identify is too long", ], "password" : [ "The password is required", ], } } 3.柔軟性 httpパラメータで取得するパラメーターの制限、絞り込み、並び順を指定可能にしよう。カンマ区切りで複数条件可能! * fields : 取得したいパラメーター * getNumber : ページ数 * pageSize : 1ページの件数 * sort : 並び替え * q : 文字列の部分検索 例:/companies/:companyId?fields=data&q=サンプル&sort=id,name 注釈:頻繁に使用する条

    RestfulApiの設計書 - Qiita
    sion0808
    sion0808 2020/07/02
    Json理解してから読み返したいお
  • REST APIとは? - API設計のポイント

    最近は様々なサービスでWebAPIが提供されています。普段の開発をする中でもシステム連携などでAPIを作る機会が出てくるのではないでしょうか。 WebAPIの中でもREST APIなんてものもよく聞くのかなぁと思います。REST APIの設計は色々と奥が深く、なかなかおもしろい技術です。 今回はそんなREST APIを設計する上でのポイントをご紹介していきます。この記事では実装よりも設計思想的な部分を書いています。次回以降にもう少し実装に近いレベル記事を書いきます! REST APIは、「Representational State Transfer(表現状態の転送)」というアーキテクチャスタイルに従って設計されたAPIのことです。RESTの概念は2000年にRoy Fieldingによって提唱され、Webアーキテクチャにおける一つの重要な原則として広く認識されています。 じゃあ、REST

    REST APIとは? - API設計のポイント
    sion0808
    sion0808 2020/07/02
    RESTの(・∀・)イイ!!URLの書き方の参考
  • RESTful APIのHTTPステータスコード設計 - Qiita

    HTTPステータスコード設計 RESTfulなAPIでは、以下の理由によりAPIの処理結果は適切なHTTPステータスコードを利用することが推奨されている。 適切なHTTPステータスコードを返さないと、レスポンスボディの中身を解析して処理結果を判定する必要がある HTTPの標準仕様を使うことで、HTTPステータスコードから処理結果を判定することができる HTTPの標準仕様を使うことで、APIを利用する第三者にとっても理解しやすくなりバグの混入を減らすことができる ほとんどのHTTPクライアントライブラリはHTTPステータスコードを見てリクエストが成功したか、失敗したかを判別している ※ステータスコードは一律200で処理結果をレスポンスボディで表現するようなことはしてはいけない。例えば、API側で内部エラーが発生し来であれば500(INTERNAL SERVER ERROR)を返さなければい

    RESTful APIのHTTPステータスコード設計 - Qiita
    sion0808
    sion0808 2020/07/02
    ステータスコードを完全に理解せよ
  • javacしか知らなかった原始人がGradleというビルドツールで現代人を目指した話 | DevelopersIO

    Gradleでもっとも基的なJavaプログラムをコンパイルし、そこからAWS SDKを使ったプログラムのビルドまで挑戦してみました。 こんにちは、平野です。 この年末年始、ずっと理解したいと思ってたものに色々と触る時間が取れたので、 非常に基的な事柄ですが、自分なりに吸収したことをアウトプットして行きたいと思います! ということで、Gradleを使ってJavaのプログラムをビルドして、 ビルドツールとかぜんぜん使ったことない原始人から現代人への進化を目指します! なお、IDEは使わないでコマンドラインからの確認を行います。 (だから現代人になれないのでは?) スタート地点 この記事の内容を行う前の私の状況です。 Javaのプログラムの基的な部分はまあまあ理解している Javaのビルドと言えばCLASSPATH設定してコマンドラインでjavacするの一択 そのあとjarコマンドで固める

    javacしか知らなかった原始人がGradleというビルドツールで現代人を目指した話 | DevelopersIO
    sion0808
    sion0808 2020/07/02
    GradleとMavenの話をしたら宗教戦争になりますか?
  • Spring Boot解説第18回(基本編:Controllerとは) - Qiita

    みなさん、こんにちはこんばんは! 株式会社情創 技術開発局 CoCo壱番屋の3辛で限界を感じた@TEBASAKIです。 今回からいよいよ基編に入ります。 初回ということで、今更ですが Controller について解説していきます。 ※諸事情により投稿をもってしばらく投稿を休載致します。申し訳ございません。 MVCとは Controller の前に、まずは MVC について解説します。 MVC とはアプリケーションフレームワークのひとつです。 これはModel(モデル)、View(ビュー)、**Controller(コントローラ)**の頭文字を取ったもので、全体の処理をこの3つに分割します。 続いて、それぞれの役割について解説していきます。 Model(モデル) Model は処理の中核を担います。 アプリケーションが使用するデータや、DBに対する処理などは Model が担当すること

    Spring Boot解説第18回(基本編:Controllerとは) - Qiita
    sion0808
    sion0808 2020/07/02
    あとで読む(読むとは言ってない)
  • プログラミングのレシピ

    @Controller 画面遷移用のコントローラーに付与する @RestController Webアプリケーションにおいてリクエストを受け付ける「コントローラークラス」にに付与する @RequestMapping("パス") @Controller・@RestControllerを付与したクラスがマッピングするURLの接頭辞を設定 【使用例】 @Controller @RequestMapping("sample") public class SampleController { ... @GetMapping("パス") HTTPリクエストのGETメソッドを受け付けるためのメソッドに付与 【使用例】 @Controller public class ExampleController { @GetMapping("hogehoge") String index() { . . retu

    sion0808
    sion0808 2020/07/02
    ここに書いてあるアノテーションは正直覚えておこうと思ってる