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

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

12
検索用のRESTful URLデザイン
検索をRESTfulなURLとして表すための合理的な方法を探しています。 セットアップ:CarsとGaragesという2つのモデルがあり、CarsはGaragesに入れることができます。だから私のURLは次のようになります: /car/xxxx xxx == car id returns car with given id /garage/yyy yyy = garage id returns garage with given id 車はそれ自体で(つまり/ carとして)存在することも、ガレージ内に存在することもできます。たとえば、特定のガレージ内のすべての車を表す正しい方法は何ですか?何かのようなもの: /garage/yyy/cars ? ガレージyyyとzzzの車の結合についてはどうですか? 特定の属性を持つ車の検索を表す正しい方法は何ですか?説明:4ドアの青いセダンをすべて見せてください。 /car/search?color=blue&type=sedan&doors=4 または、代わりに/ carsにする必要がありますか? そこでは「検索」の使用が不適切に思われます-より良い方法/用語は何ですか?それだけである必要があります: /cars/?color=blue&type=sedan&doors=4 検索パラメーターをPATHINFOまたはQUERYSTRINGの一部にする必要がありますか? つまり、クロスモデルのREST url設計と検索についてのガイダンスを探しています。 [更新]私はジャスティンの答えが好きですが、彼はマルチフィールド検索のケースをカバーしていません: /cars/color:blue/type:sedan/doors:4 またはそのようなもの。どうやって行くの /cars/color/blue 複数分野のケースに?
427 rest 

16
整数の配列をASP.NET Web APIに渡しますか?
整数の配列を渡す必要があるASP.NET Web API(バージョン4)RESTサービスがあります。 これが私のアクションメソッドです: public IEnumerable<Category> GetCategories(int[] categoryIds){ // code to retrieve categories from database } そして、これは私が試したURLです: /Categories?categoryids=1,2,3,4



6
REST APIのベストプラクティス:パラメーター値のリストを入力として受け入れる方法[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 私たちは新しいREST APIをローンチしており、入力パラメーターをどのようにフォーマットするかについてのベストプラクティスに関するコミュニティの意見を求めていました。 現在、APIはJSON中心です(JSONのみを返します)。XMLを返す必要があるかどうかの議論は別の問題です。 私たちのAPI出力はJSON中心であるため、私たちは入力が少しJSON中心であるという道をたどっています。 たとえば、現在複数の製品を同時にプルできるいくつかの製品の詳細を取得するには、次のようにします。 http://our.api.com/Product?id=["101404","7267261"] これを次のように簡略化する必要があります。 http://our.api.com/Product?id=101404,7267261 それともJSON入力が便利ですか?もっと痛い? 両方のスタイルを受け入れたいと思うかもしれませんが、その柔軟性は実際により多くの混乱と頭痛(メンテナンス性、ドキュメントなど)を引き起こしますか? より複雑なケースは、より複雑な入力を提供したい場合です。たとえば、検索で複数のフィルターを許可する場合: http://our.api.com/Search?term=pumas&filters={"productType":["Clothing","Bags"],"color":["Black","Red"]} フィルタータイプ(productTypeやcolorなど)をリクエスト名として次のように指定する必要はありません。 http://our.api.com/Search?term=pumas&productType=["Clothing","Bags"]&color=["Black","Red"] すべてのフィルター入力をグループ化したかったからです。 結局、これは本当に重要ですか?JSONのユーティリティが非常に多く存在するため、入力タイプはそれほど重要ではない可能性があります。 APIへのAJAX呼び出しを行うJavaScriptクライアントは、JSON入力を理解して、より簡単に生活できるようになることを知っています。
409 api  rest 

7
検証エラーに対してREST APIサービスによって返される適切なHTTPステータスコードは何ですか?
Django / PistonベースのREST APIアプリケーションで検証エラーが発生するたびに、現在401 Unauthorizedを返しています。見ていたたHTTPステータスコードレジストリ Iをy'allのは何をお勧めします、これは検証の失敗のために適切なコードであることを確信していませんよ? 400不正な要求 401無許可 403禁止します 405メソッドは許可されていません 406受け入れ不可 412前提条件が失敗しました 417予想に失敗しました 422処理できないエンティティ 424失敗した依存関係 更新:上記の「検証エラー」とは、アプリケーションレベルのデータ検証エラーを意味します。つまり、誤って指定された日時、偽のメールアドレスなどです。

28
SOAPまたはREST for Web Services?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 RESTはWebサービスを実行するためのより良いアプローチですか、それともSOAPですか?または、それらは異なる問題のための異なるツールですか?それとも微妙な問題ですか?つまり、特定のアリーナでは他のアリーナよりも少し優れていますか? 私は特に、それらの概念、およびそれらのPHPユニバースと最新のハイエンドWebアプリケーションとの関係についての情報をいただければ幸いです。
384 xml  web-services  rest  soap 

11
ASP.NET Web APIでエラーを返すためのベストプラクティス
エラーをクライアントに返す方法が心配です。 HttpResponseExceptionをスローしてすぐにエラーを返すかときにを public void Post(Customer customer) { if (string.IsNullOrEmpty(customer.Name)) { throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest) } if (customer.Accounts.Count == 0) { throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest) } } または、すべてのエラーを蓄積してからクライアントに送り返します。 public void Post(Customer customer) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(customer.Name)) { errors.Add("Customer …
384 c#  rest  asp.net-web-api 

18
REST JSON APIサーバーとクライアントは別ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 私は一群のウェブアプリを一から作成しようとしています。(概要についてはhttp://50pop.com/codeを参照してください。)フロントエンドWebサイト、スマートフォンアプリ、バックエンドWebサービスなど、さまざまなクライアントからアクセスできるようにしたいので、それぞれのJSON REST API。 また、私はバックエンドで作業することを好むので、純粋にAPIに焦点を当て、ウェブサイト、iPhone、Android、その他のアプリなど、フロントエンドUIを作成するために誰かを雇うことを夢見ています。 私が取るべきアプローチを決めるのを手伝ってください: 共に歩む 非常に標準的なRails Webアプリを作成します。コントローラーで、response_withスイッチを実行して、JSONまたはHTMLを提供します。JSON応答は私のAPIです。 プロ:先例がたくさん。このように物事を行うための素晴らしい基準と多くの例。 欠点: APIがWebアプリと同じである必要はありません。if / then respond_withスイッチアプローチは好きではありません。2つの非常に異なるもの(UI + API)の混合。 RESTサーバー+ JAVASCRIPT-HEAVYクライアント JSONのみのREST APIサーバーを作成します。クライアント側JavaScriptのBackboneまたはEmber.jsを使用してAPIに直接アクセスし、ブラウザーにテンプレートを表示します。 プロ: APIとクライアントの分離が大好きです。賢い人々は、これが進むべき道だと言っています。理論的には素晴らしい。最先端でエキサイティングなようです。 欠点:先例はあまりありません。これの多くの例はうまくいっていません。公開されている例(twitter.com)は遅いと感じており、このアプローチから切り替えさえしています。 RESTサーバー+サーバー側HTMLクライアント JSONのみのREST APIサーバーを作成します。REST APIのみにアクセスする基本的なHTML Webサイトクライアントを作成します。クライアント側のJavaScriptの削減。 プロ: APIとクライアントの分離が大好きです。ただし、プレーンHTML5を提供することは、まったく簡単で、クライアントに負荷をかけません。 欠点:先例はあまりありません。これの多くの例はうまくいっていません。フレームワークもこれをサポートしていません。それへのアプローチ方法がわからない。 特に理論だけではなく、経験からのアドバイスを探しています。

15
ドット(。)を含むSpring MVC @PathVariableが切り捨てられる
これは質問の続きです MVC @PathVariableが切り捨てられます Springフォーラムは、ContentNegotiationManagerの一部として修正済み(バージョン3.2)であると述べています。以下のリンクを参照してください。 https://jira.springsource.org/browse/SPR-6164 https://jira.springsource.org/browse/SPR-7632 私のアプリケーションでは、.comのrequestParameterが切り捨てられています。 この新機能の使い方を誰かに説明してもらえますか?xmlでどのように構成できますか? 注:Springフォーラム-#1 Spring MVC @PathVariable with dot(。)is truncated

9
データのPOSTに対する400対422の応答
私が取り組んでいる「RESTのような」APIを使用して、さまざまなシナリオで返される正しいステータスコードを把握しようとしています。JSON形式でPOSTで購入できるエンドポイントがあるとします。次のようになります。 { "account_number": 45645511, "upc": "00490000486", "price": 1.00, "tax": 0.08 } クライアントが(予想される「税金」の代わりに)「sales_tax」を送った場合、何を返却すればよいですか。現在、私は400を返します。しかし、私はこれについて自分自身に質問し始めました。本当に422を返す必要がありますか?つまり、JSON(これはサポートされています)であり、有効なJSONです。必要なフィールドのすべてが含まれているわけではありません。

14
REST APIのベストプラクティス:パラメータをどこに置くか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 5年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 REST APIは、少なくとも次の2つの方法でパラメーターを持つことができます。 URLパスの一部として(つまり/api/resource/parametervalue ) クエリ引数として(つまり/api/resource?parameter=value ) ここでのベストプラクティスは何ですか?1を使用する場合と2を使用する場合の一般的なガイドラインはありますか? 実際の例:Twitterはクエリパラメータを使用して間隔を指定します。(http://api.twitter.com/1/statuses/home_timeline.json?since_id=12345&max_id=54321) これらのパラメーターをURLパスに配置する方が良い設計と見なされますか?
348 api  rest  url 

8
400 BADリクエストHTTPエラーコードの意味?
HTTP URLに投稿しているJSONリクエストがあります。 これ400はrequestedResourceフィールドが存在する場所として扱う必要"Roman"がありますが、このフィールドには無効な値ですか? [{requestedResource:"Roman"}] これ400は"blah"フィールドがまったく存在しない場所として扱う必要がありますか? [{blah:"Roman"}]

15
C#を使用してREST APIを呼び出すにはどうすればよいですか?
これは私がこれまでに持っているコードです: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System; using System.Net.Http; using System.Web; using System.Net; using System.IO; namespace ConsoleProgram { public class Class1 { private const string URL = "https://sub.domain.com/objects.json?api_key=123"; private const string DATA = @"{""object"":{""name"":""Name""}}"; static void Main(string[] args) { Class1.CreateObject(); } private static void CreateObject() { …
335 c#  api  rest 


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