タグ付けされた質問 「rest」

REST(Representational State Transfer)は、World Wide Webなどの分散ハイパーメディアシステム用のソフトウェアアーキテクチャのスタイルです。異種システム間で統一されたインターフェースを持つことから生じるサーバーからのクライアントの本質的な分離により、SOAPなどのRPCアーキテクチャーに比べて人気が高まっています。

1
非同期POSTがWP7とF#で失敗する
私が行うときlet! read = from.AsyncRead bufのF#、そのブロックにし、TCPソケットが死んでいるまで戻りません。どうして?そして、どうすれば修正できますか? そのコード: module StreamUtil open System.IO /// copy from 'from' stream to 'toStream' let (|>>) (from : Stream) (toStream : Stream) = let buf = Array.zeroCreate<byte> 1024 let rec doBlock () = async { let! read = from.AsyncRead buf if read <= 0 then toStream.Flush() return …

6
継承を使用してRESTfulAPIをモデル化する方法は?
RESTful APIを介して公開する必要のあるオブジェクト階層があり、URLをどのように構造化し、何を返す必要があるのか​​わかりません。ベストプラクティスが見つかりませんでした。 動物から受け継いだ犬と猫がいるとしましょう。犬と猫のCRUD操作が必要です。また、動物全般の手術もできるようになりたいです。 私の最初のアイデアは、次のようなことをすることでした。 GET /animals # get all animals POST /animals # create a dog or cat GET /animals/123 # get animal 123 / animalコレクションは、まったく同じ構造を持たないオブジェクト(犬と猫)を返したり受け取ったりする可能性があるため、「一貫性がない」ようになりました。異なる属性を持つオブジェクトを返すコレクションを持つことは「RESTful」と見なされますか? 別の解決策は、次のように、具体的なタイプごとにURLを作成することです。 GET /dogs # get all dogs POST /dogs # create a dog GET /dogs/123 # get dog 123 GET /cats # get all …

16
Spring-BootとAngularjsを使用したCORSが機能しない
あるアプリケーション(spring-bootアプリケーション)のRESTエンドポイントを別のアプリケーション(angularjs)から呼び出そうとしています。アプリケーションは、次のホストとポートで実行されています。 スプリングブートを使用したRESTアプリケーション、 http://localhost:8080 Angularjsを使用したHTMLアプリケーション、 http://localhost:50029 spring-securityスプリングブートアプリケーションでも使用しています。HTMLアプリケーションからRESTアプリケーションへの認証はできますが、それ以降もRESTエンドポイントにアクセスできません。たとえば、次のように定義されたangularjsサービスがあります。 adminServices.factory('AdminService', ['$resource', '$http', 'conf', function($resource, $http, conf) { var s = {}; s.isAdminLoggedIn = function(data) { return $http({ method: 'GET', url: 'http://localhost:8080/api/admin/isloggedin', withCredentials: true, headers: { 'X-Requested-With': 'XMLHttpRequest' } }); }; s.login = function(username, password) { var u = 'username=' + encodeURI(username); var p …

3
認証にFacebookを使用するWebサイト用のRESTAPI
ログインしてサイトで自分自身を認証する唯一の方法がFacebookを使用するWebサイトがあります(これは私の選択ではありませんでした)。Facebookに初めてログインすると、アカウントが自動的に作成されます。 ここで、私たちのサイト用のiPhoneアプリケーションと、他の人が私たちのサービスを使用するためのパブリックAPIを作成したいと考えています。 この質問は、アプリ/ APIから当社のWebサイトで認証する方法に関するもので、2つの部分に分かれています。 APIからFacebookOAuthのみを認証方法として使用するWebサイトへのREST認証を処理する正しい方法は何ですか? 私はRESTAPIの標準的な認証方法について多くのことを読み、調査しました。ユーザーの資格情報がないため、HTTPS経由の基本認証などの方法を使用することはできません。このようなものは、APIを使用してアプリケーションを認証するためだけのもののようです。 現在、私が考える最善の方法は、APIで/ authorizeエンドポイントに到達し、Facebook OAuthにリダイレクトしてから、サイトにリダイレクトし、APIのユーザーが後続の認証に使用できる「トークン」を提供することです。リクエスト。 私たちが作成する公式アプリケーションの場合、必ずしも同じ方法でパブリックAPIを使用する必要はありません。それでは、当社のWebサイトに話しかけてユーザーを認証するための最良の方法は何でしょうか? API(公開)キーと秘密(プライベート)キーを使用して、APIを使用しているサードパーティアプリケーションを認証する方法を理解しています(私は思います)。ただし、アプリを使用しているユーザーの認証に関しては、ユーザーを認証する唯一の方法がFacebookである場合、その方法についてかなり混乱しています。 非常に明白なものが欠けている、またはパブリックREST APIがどのように機能するかを完全に理解していないように感じるので、アドバイスやヘルプをいただければ幸いです。

10
すべてのRESTful関数を備えたコントローラーを生成します
すべてのRESTfulアクションをスタブ化したコントローラーを生成しようとしています。私はウィキブックスで読んだことがあります-Rubyon Railsは、コントローラー名を使用してジェネレーターを呼び出すだけで、それを取得できます。それで、私は走りましscript/generate rspec_controller Propertiesたが、空のコントローラーを手に入れました。 他の提案をいただければ幸いです。

5
最良/一般的なRESTfulURL動詞とアクションは何ですか?
最良で最も一般的なRESTfulURLアクションに関する情報を見つけようとしています。 たとえば、アイテムの詳細を表示したり、アイテムを編集したり、更新したりするためにどのURLを使用しますか。 /question/show/<whatever> /question/edit/<whatever> /question/update/<whatever> (this is the post back url) /question/list (lists the questions) うーん。助けてくれた人に感謝します:)
86 rest 

2
jenkinsのRESTfulAPIリファレンスはどこにありますか?[閉まっている]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 6か月前に閉鎖されました。 この質問を改善する RESTAPIによって外部システムをjenkinsと統合しようとしています。 私はそのAPIリファレンスで多くのグーグル検索を行いましたが、それでもjenkins RESTAPIリファレンスの完全なリストを取得することはできません。 誰かがこれについて知っていますか?
86 rest  jenkins 

1
RESTAPIのオンラインドキュメントの構造化
データをJSONおよびXML形式にシリアル化する最初のRestAPIを構築しています。実装されたエンドポイントを選択できるAPIクライアントにインデックスページを提供したいと思います。 APIを最も便利にするためにどのような情報を含める必要があり、どのように整理する必要がありますか?
85 api  rest  indexing 

4
CoreDataとRESTWebサービスを非同期で同期すると同時に、RESTエラーをUIに適切に伝播する方法
ねえ、私はここで私たちのアプリのモデルレイヤーに取り組んでいます。 要件のいくつかは次のようなものです。 iPhone OS3.0以降で動作するはずです。 データのソースはRESTfulRailsアプリケーションです。 CoreDataを使用してデータをローカルにキャッシュする必要があります。 クライアントコード(UIコントローラー)は、ネットワークに関する知識をできるだけ少なくし、Core DataAPIを使用してモデルをクエリ/更新する必要があります。 私がチェックアウトしましたWWDC10セッション117をチェックアウトするいくつかの時間を費やしサーバー主導のユーザーエクスペリエンス、建物の上に目的のリソース、コアリソース、およびRestfulCoreDataの枠組みを。 Objective Resourceフレームワークは、それ自体ではCore Dataと通信せず、RESTクライアントの実装にすぎません。Core ResourceとRestfulCoreDataはすべて、コード内のCore Dataと通信することを前提としており、モデルレイヤーのバックグラウンドですべての要点を解決します。 これまでのところすべて問題ないように見えますが、最初はCore ResourceまたはRestfulCoreDataのいずれかで上記の要件がすべてカバーされますが、...正しく解決されていないように見えることがいくつかあります。 ローカル更新をサーバーに保存している間は、メインスレッドをブロックしないでください。 保存操作が失敗した場合、エラーはUIに伝播され、変更はローカルCoreDataストレージに保存されません。 コアリソースは- (BOOL)save:(NSError **)error、マネージドオブジェクトコンテキストを呼び出すと、サーバーにすべてのリクエストを発行するため、サーバーへの基になるリクエストの正しいNSErrorインスタンスを提供できます。ただし、保存操作が終了するまで、呼び出し元のスレッドをブロックします。不合格。 RestfulCoreDataは-save:呼び出しをそのまま維持し、クライアントスレッドに追加の待機時間を導入しません。を監視しNSManagedObjectContextDidSaveNotification、通知ハンドラーでサーバーに対応する要求を発行するだけです。しかし、この方法-save:呼び出しは常に(コアデータが保存された変更で大丈夫です与え、ウェル)正常に完了し、実際にそれがあるため、いくつかのサーバーに伝播しなかったかもしれない保存知る方法がありませんと呼ばれるクライアントコード404またはを421または何をサーバー側のエラーが発生しました。さらに、ローカルストレージはデータを更新するようになりますが、サーバーは変更を認識しません。不合格。 だから、私はこれらすべての問題に対処するための可能な解決策/一般的な慣行を探しています: 呼び出し元のスレッドがそれぞれをブロックしたくない -save:ネットワーク要求が発生している間、呼び出しでない。 同期操作が失敗したという通知をUIで取得したいのですが。 サーバー要求が失敗した場合、実際のCoreDataの保存も失敗するようにします。 何か案は?

9
HATEOAS:絶対URLまたは相対URL?
HATEOASを使用してRESTfulWebサービスを設計する場合、リンクを完全なURL( " http:// server:port / application / customers / 1234 ")として表示することと、パスだけ( "/ application /顧客/ 1234 ")?
84 rest  hateoas 

2
なぜJAX-RS / Jerseyを使用するのですか?
申し訳ありませんが、この質問はばかげているように聞こえますが、Jerseyを使用してRESTfulサービスのいくつかを開発した後、私は自分自身に質問しました-RESTが単なるアーキテクチャであり、SOAPのようなプロトコルではない場合、なぜJAX-RSのような仕様が必要なのですか? 私は実際に「HTTPを介したサーブレットとRESTfulサービスの違いは何ですか」などの質問をグーグルで検索し、コミュニティの回答を要約すると、次のようになりました。 (Jerseyでの)RESTfulサービス開発は、本質的にサーブレットを使用するアーキテクチャです。 ジャージーのようなJAX-RS準拠のツールは、XML / JSONデータのマーシャリングとアンマーシャリングを簡単に提供し、開発者を支援します。 RESTは、通常のサーブレットよりもはるかに効率的な方法でGET / POST / PUT / DELETEを使用するのに役立ちます。 これらの回答によると、JAXB(自動シリアル化を処理するため)を使用するサーブレットを作成し、サーブレットコードでGET / POST / PUT / DELETEを効率的に使用する場合、Jerseyのようなツールを使用しないと思います。したがって、JAX-RS。 私はこの声明を渡すのがひどく間違っていることを知っています、私を訂正してください。 PS:この疑問は、PHPでRESTfulサービスを開発しなければならなかったときに実際に起こりました。いくつかのRESTfulPHPコードを調べた後、XML / JSONを処理するためのいくつかのヘルパーメソッドを備えた、まったく同じ古いPHPスクリプトであることに気付きました。
84 rest  jersey  jax-rs 

10
RESTApiの自動テスト[クローズ]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 5年前に閉鎖されました。 この質問を改善する RESTAPIの自動テストスイートを作成したいと思います。新しいサービスを完了する際に、以前に作成したすべてのサービスが期待どおりに機能していることを確認したいと思います。これを達成するために使用するのに最適なツールに関する提案はありますか?一度に1つのサービスをテストできるApigeeのようなツールが存在することは知っていますが、ボタンをクリックするだけですべてのサービスをテストする方法が必要です。
84 api  rest  testing  automation 

6
PHPでのPUT / DELETE引数の処理
私はCodeIgniter用のRESTクライアントライブラリに取り組んでおり、PHPでPUTおよびDELETE引数を送信する方法を見つけるのに苦労しています。 いくつかの場所で、私は人々がオプションを使用しているのを見ました: $this->option(CURLOPT_PUT, TRUE); $this->option(CURLOPT_POSTFIELDS, $params); 迷惑なことに、これは何もしないようです。これはPUTパラメータを設定する正しい方法ですか? もしそうなら、どうすればDELETEパラメータを設定できますか? $ this-> option()は私のライブラリの一部であり、CURLOPT_XX定数の配列を作成し、作成されたcURLリクエストが実行されると、それらをcurl_setopt_array()に送信します。 次のコードを使用して、PUTおよびDELETEパラメーターを読み取ろうとしています。 case 'put': // Set up out PUT variables parse_str(file_get_contents('php://input'), $this->_put_args); break; case 'delete': // Set up out PUT variables parse_str(file_get_contents('php://input'), $this->_delete_args); break; ここには2つのオプションがあります。間違った方法でこれにアプローチしているか、ライブラリのどこかにバグがあります。これが理論的に機能するかどうかを教えていただければ、解決するまでデバッグを槌で打つことができます。 根本的に間違っているアプローチにこれ以上時間を無駄にしたくありません。

6
非推奨のAPIをクライアントに通知するためのHTTP応答ヘッダーの規則
REST APIエンドポイントをアップグレードしており、非推奨になるエンドポイントを呼び出しているときにクライアントに通知したいと思います。 「このAPIバージョンは非推奨です。最新のドキュメントを参照してエンドポイントを更新してください」というメッセージとともに、応答でどのヘッダーを使用する必要がありますか

6
HTTP GETクエリ文字列の長さの制限に対処し、それでもRESTfulにしたい場合はどうすればよいですか?
http://www.boutell.com/newfaq/misc/urllength.htmlに記載されているように、HTTPクエリ文字列の長さには制限があります。クライアント(Firefox、IE、...)、サーバー(Apache、IIS、...)、またはネットワーク機器(適用可能なファイアウォール、...)によって制限される可能性があります。 今日、私は検索フォームでこの問題に直面しています。多くのフィールドを含む検索フォームを開発しました。このフォームはGETリクエストとしてサーバーに送信されるため、結果のページをブックマークできます。 クエリ文字列の長さが1100バイトになるほど多くのフィールドがあり、1024バイトを超えるHTTPGETリクエストをドロップするファイアウォールがあります。システム管理者は、制限がないように、代わりにPOSTを使用することをお勧めします。 確かに、POSTは機能しますが、検索はPOSTではなくGETとして実際に感じます。したがって、フィールド名を確認してクエリ文字列が長すぎないことを確認し、長すぎない場合は実用的でPOSTを使用すると思います。 しかし、RESTfulサービスの設計に欠陥はありますか?GETリクエストの長さが制限されている場合、大きなオブジェクトをRESTful Webサービスに送信するにはどうすればよいですか?たとえば、ファイルに基づいて計算を行うプログラムがあり、次のようなRESTfulWebサービスを提供したい場合:http://compute.com?content=<base64 file>。クエリ文字列の長さが無制限ではないため、これは機能しません。 私は少し戸惑っています...
84 http  rest 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.