サーバー側でREST APIを使うのは難しいのか?
Silicon Valley Super Ware
2020年6月11日
サーバー側でREST APIを使うのは難しいのか?
前回は、外部のWebサービスを取り込みには、サーバー側で REST APIの処理をする必要がある場合が多いという話でした。実際にサーバー側での実装はもう少し先に取り上げる事を考えています。 しかし、前回の記事に対する質問を沢山いただきましたのでもう少し掘り下げてみようと 思います。
結論から言ってしまうと、それほど難しいものではありません。
違いは、REST APIをブラウザーから使うか、サーバーから使うかの違いだけです!サーバー側から動かすとは?
最初に考える事は「サーバー側」から動かすという事はどういう事かという事です。サーバーが外部のサービスに対して、REST APIでデータを取得するという事です。 これがどういう事かというと、取得したデータはサーバーに取り込まれるという事になります。
つまり、そのままでは、ブラウザーでは見られない!(使えない!)
という事になります。それでは、意味がないじゃないか!と思われるかもしれませんが、 仕組みは同じで、ブラウザーとあなたのWebサービスのホスティングをするサーバーとの間で 別の「API」を決める必要があります。
つまり、サーバーに「データーをもらってきて!」と頼むという事です。 サーバーはもらってきたデーターをブラウザーに転送するという仕組みでデータを扱う事が できます。
ここで「あれ!?」っと思いませんか?外部サービスの情報のセキュリティの為に サーバー側で処理をするのに、ブラウザーがデータを取れたら同じことじゃないのか! という疑問がわいてきます!
サーバーは情報の選別をする!
もちろん、外部のWebサービスと全く同じデータをブラウザーが見られる場合は全く意味がありません。 サーバーを使う理由は、ブラウザーに見せるデータを選別して、必要以上のデータを見せないようにするからです。 なので、どのデータは見せて良くて、どのデータはダメなのかをよく考えてあなた独自の「API」を決める必要があります。必要に応じて、利用者にログインをしてもらうなどすると、ユーザーごとに見せる情報を変える事もできます。
そう考えると、Webサービスとしては少し複雑な物になります
それが、「もう少し後で取り上げる予定」にしている理由ですしかし、実装の仕方は今回体験した方法と同じで、それを何か所かで実装するというだけです。
技術的には、今月のテーマの制作ができれば、外部のWebサービスを取り込んだ「あなたのWebサービス」を 作る事が出来るようになります。
これから学習しなければ行けない事は、Webサービスをどのような分担で実現するかです。 ブラウザーでやる事、サーバーでやる事、その他必要な物(データベースやユーザーの認証)を どのような組み合わせで実現するかという事です。
サーバー側の実装は?
サーバー側の実装のやり方はいろいろあります。 WordPressが大きなシェアを持っている関係上、ホスティングサービスの殆どは サーバー側でPHPをサポートしているので、一つの方法はPHPによる実装です。
この連載では勉強の範囲を絞る!を一つのテーマにしているので
JavaScriptで記述できる、「Node.js」をサーバー側で動かしてサポートする方法を推奨します!
これで、プログラムの記述自体は、全て「JavaScript」で欠けます。
違いは、そのプログラムをどこで動かすかが違うだけです。
ということで、順序だててWebサービスの作り方を学んでいけば 簡単に外部のWebサービスを取り込んだあなたのWebサービスを作ること自体は 難しい事ではありません。
JSON Placeholderのサービスを完成させよう!
少し話がそれてしまいましたが、まずは目の前の課題として JSON Placeholderを使ったサービスを完成させましょう!あなたなりに、少し工夫をして「本物」のサービスのように見せるようにしてください!
先日も触れましたが、REST APIの返答で戻ってくるデータは必ず読み取ってください。 使うか使わないかは別の問題で、リクエストの結果がどのように送られてくるかは 実際のサービスを作る上では重要です。そこを無視しないで作るのが今回のポイントです!
シリコンバレースーパーウエアでは、シンプルなWebサービスの作り方だけではなく、 より複雑なWebサービスをテーマにした講座も同時に提供しています。 さらに、作ったWebサービスを利用したビジネスの展開まで考えたWebサービスの 作り方がわかるようになります。
興味のある方は今すぐお問合せください!
またよろしければ、ニュースレターの登録をお願いします!大体週一回お届けしています。ブログよりは一歩踏み込んだもっと濃い内容を発信しています。
コメント
コメントを投稿