• 締切済み

REST APIのエンドポイントについて

なぜWeb(REST) APIのエンドポイントは長ったらしいURLで表現されるのですか? RESTの考え的には「シンプルに作る」というのも含まれているはずですから、 あんなURLみたいな長ったらしい文字列使うのはRESTの考えに反すると思います。 IPアドレスとかデータベースのIDとか指定したほうがよっぽどシンプルな気がします。

  • R958XX
  • お礼率75% (165/219)

みんなの回答

  • okgoo3
  • ベストアンサー率74% (20/27)
回答No.1

まぁ「シンプルに」ってのは文字数の事ではなく構造の事を言ってるわけだけどね。 でも私が作る程度のものは数字記号のIDで問題ないですね。 IDの代わりに文字列を使うのであれば、人が読んで対象リソースを認識しやすいっていうのと、文字数が長くなり過ぎないっていう条件が勝っていれば考えなくもないけれど。

関連するQ&A

  • エントリポイントとエンドポイントの違い

    Web APIのドキュメントを作成しています。 参考になるものがないかWebで検索してみたところ、 クライアントがWebAPIを利用するときに、アクセスするURLのことを エントリポイント、エンドポイントと表現する場合があるようです。 エントリとエンドでは、意味が全く違うので少し混乱しています。 どのように使い分けされているのかを教えてください。 自分なりの解釈は次の通りです。 エントリポイント:サービスを提供する側の視点の言葉。 URLにアクセスがあることでAPIサービスの処理が開始されるので、 エントリ=”入り口”という言葉が使われる。 エンドポイント:サービスを利用する側の視点の言葉。 そのURLにアクセスさえすれば、それ以上何もしなくてもいい(APIに任せる)ので、 エンド="終点"という言葉が使われる。

  • WEB API/REST APIが流行る理由

    最近システム連携の世界にまで異様にWEB API/REST APIが浸透していると 言われているのが納得いきません。 AWSなどは最たる例だと思います。 GUIをほとんど使わずCLIベースでコマンドばっか打ちまくる、 しかも歴史ある信頼性の高いC言語やJavaを使うわけでなく ここ最近コンシューマ向けなどという信頼性などいい加減で許されるような HTTPをベースにしているとか、そんなのを社内システムに持ち込むなど 正気の沙汰と思えません(金融機関や総合商社までAWSを使いだしたそうですが。。。) 「情シスやインフラSEをわざわざ通なくても、プログラミングに慣れている  開発者(プログラマー)からしたらAPI叩いてシステム動かしてるほうがよっぽど楽だから」 と言いますが、ホントですか? あんな長ったらしいURLが書かれたスクリプトをたらたら書くのが 効率いいとはとてもじゃないですが信じられません・・・・・・ システム管理でGUIにCLIが勝るなどありえない・・・・・ 同じプログラマー寄りの技術使うならば、 せめて歴史があり、その分信頼性も高いC言語やJavaを使うべきだと思いますが、いかがでしょうか?

  • ITRON TCP/IP APIでの通信端点IDの指定のしかた

    ITRON TCP/IP API初心者です。 udp_cre_cep()で指定するcepidには何を指定すれば 良いのですか? 使用済みの値を指定したらエラー(E_ID)が返ってくるのですよね? 指定のルール、空きIDを調べる方法などご教授お願いします。

  • ApacheWebサーバがあるサーバから,別サーバにあるOracle8iデータベースに接続するには

    Webサーバ(ApacheWebサーバ)がインストールしてあるサーバとは別に, データベース(Oracle8i)がインストールしてあるサーバに接続したいのですが, とある文献に, ==================== Oracleの場合、データベースへの接続は「ocilogon関数」を利用します。 この関数 は、下記のように接続するデータベースとユーザーを指定します。 関数の返り値と して、接続IDが返されるので、そのIDを変数に受け取るようにしておきます。 ocilogon("ユーザー","パスワード","接続文字列"); // Oracleとの接続 $conn = OCILogon("scott", "tiger", "orcl"); ===================== という記述がありました. このような記述だけで,別サーバにあるOracle8iへ接続可能なのでしょうか? さらに, ===================== 「また、ここで「接続文字列」を指定することによって、  Webサーバとは別のサーバで稼働 しているデータベースへの接続も可能です。」 ===================== という記述もあります. 接続文字列(orcl)を入力しただけで,別サーバにあるデータベース に接続することは可能なのでしょうか?私が思うにはデータベースサーバの IPアドレスなどの情報がないと無理な気がするのですが,どうなのでしょうか? よろしくお願いします.

    • 締切済み
    • PHP
  • ツイッターのAPIでOAUTH認証を使用してのAPIリクエストについて

    ツイッターのAPIでOAUTH認証を使用してのAPIリクエストについて ツイッターのAPIを利用してアプリケーションを開発しています。 OAUTH認証でアクセストークンの取得まではできたのですが、 アクセストークンを使ってAPIにアクセスしたところページが 存在しないとの旨を伝えられました。 ↓実際のソース https://twitter.com/1/statuses/update.xml?in_reply_to_status_id=自分のID(アクセストークンで取得したもの)&oauth_consumer_key=OAUTHコンシューマキー&oauth_nonce=ランダム文字列&oauth_signature_method=HMAC-SHA1&oauth_timestamp=タイムスタンプ&oauth_token=アクセストークン&oauth_version=1.0&status=つぶやきたい内容&oauth_signature=署名 上記URLにheader()(リダイレクト)でアクセスしています。simplexml_load_file()や file_get_contents();だと何も取得できませんでした。 特に不安なのがin_reply_to_status_idの指定先と実際のリクエストの仕方が良く わからない事です。何とかして呟きたいのでご教示よろしくお願いいたします。

  • 【Infoseek メールdeポイント】 ポイント獲得対象のURLはどれ??

    いつもお世話になります。 Infoseekのメールdeポイントのメールが届いたときに IDらしきものがついているURLがありますが(10個~15個くらい) それらすべてが 1クリックしたときにポイントが加算されるのでしょうか?? もしくは メールの下の方にある、 ★★楽天スーパーポイント獲得はこちらから★★  ↓↓クリックでもれなく1ポイントGet!!↓↓ http://pmrd.rakuten.co.jp/(IDらしき文字列) この1つのURLだけ有効なのでしょうか?? 初心者ですみません。

  • Facebook APIでユーザー名取得

    Facebook APIを使い自分のwebサイトでFacebookのユーザー名取得しようとしています。 下記サイトを参考に設定をしたのですが、途中で躓き上手くいきません。 1.http://www.tryphp.net/2011/10/25/phpfacebook-devwebsite_oauth/ 2.http://blog.zolesystem.info/php_facebook_api1/ 色々と検索してみたのですが、同様の現象が見つからず質問させていただきます。 Facebookのアプリ認証画面の表示まではできており、「OK」を押すと自分のWebサイトに戻ってくるのですが、認証前の画面と変化がありません。 ただし、URLだけは.phpの後に「?code=ランダムの文字列」とパラメーターがついたURLに変化しています。 もし、解決方法をご存じの方いらっしゃいましたらご教授お願いします。 どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • 「ドメイン」って?

    すみません、ぼやーっと理解していることだけどこの際ハッキリ知っておきたいので、「ドメイン」について教えて下さい。 (1)http://compname.honyarara.co.jp 社内イントラネットでのみ使用するWebサーバを立ち上げたとします。他のクライアント端末からIEでURLにhttp://compname(もしくはIPアドレス)と指定すればこのWebサーバにアクセスできますが、これをhttp://compname.+ドメイン名としたい場合、社内のDNSサーバにこのコンピュータのプライベートIPアドレスを登録する。これがインターネットだった場合には、グローバルIPアドレスをどこかのでっかいDNSサーバに登録してもらう(ドメイン取得すると業者がやってくれる)。 …となんとなく理解していますがあっているのでしょうか? (2)グローバルデータベースとSID いきなりOracleの話ですがいつも私はDB構築時にはグローバルデータベースもSIDも同じ(例えばどちらもorclなど)としています。 本来、ドメインを持っている場合にはグローバルデータベース名はorcl.honyarara.co.jpのように指定した方が「ベター」なのでしょうか? その場合、具体的なメリットは(デメリットは?)どのようなものでしょう? もしご存知の方いらっしゃたら教えて下さい。 宜しくお願いします。

  • tomcat #パラメータ 取得方法

    tomcatでリクエストの#以降の文字列を取得したいのですが、 取得方法がわかりません。 取得方法をご存じの方、是非教えてください。 なぜ取得したいのかというと、OneDrive REST APIを使いたいからです。 OneDrive REST API では ログイン後にリダイレクトされるリクエストには#パラメータが 付加されており、それを取得したいのです。 リダイレクト先をウェブページにし、 window.location.hashで取得できるのは確認できましたが、 ウェブページを介さずに直接サーバで操作したいと思っています。

  • mixi graph apiのログイン状況の取得

    xamppの1.7.7(Apache 2.2.21/PHP 5.3.8)上でmixi graph apiのテストをしています。 使用言語はPHPです。 developerサイトのpeopleAPIに関するページは下記URLです。 http://developer.mixi.co.jp/connect/mixi_graph_api/mixi_io_spec_top/people-api/#toc-5 # アクセストークンを抽出 $my_array = json_decode($atdata,true); $at = $my_array["access_token"]; # ログイン状況の取得 $people_api_url = "http://api.mixi-platform.com/2/people/@me/@self?fields=lastLogin?oauth_token=".$at; $people = file_get_contents($people_api_url); echo '<br />'.$people; 上記のfile_get_contentsに対して、failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Requestが出てしまいます。 ちなみにscopeの指定は、 $url = $authorization_url."?client_id=".$consumer_key."&response_type=code&scope=r_profile_last_login&display=pc"; で行なっています。 scopeをr_profileにして、 $people_api_url = "http://api.mixi-platform.com/2/people/@me/@self?oauth_token=".$at; のように変えると、同じpeopleAPI内の友人一覧の取得に関しては取得できるため、scopeの指定が間違っているのだと思うのですが…… 何が間違っているのかわかりません。 PHP初心者でまだわからないことだらけですが、もし何か記述方法の間違い等少しでもわかる方がいれば教えて頂けると幸いです。

    • ベストアンサー
    • PHP