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

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

4
REST Webサービスからクライアントにファイルを送信する正しい方法は何ですか?
RESTサービスの開発を始めたばかりですが、RESTサービスからクライアントにファイルを送信するという難しい状況に遭遇しました。これまでのところ、単純なデータ型(文字列、整数など)を送信する方法のコツをつかんでいますが、ファイル形式が多すぎてどこから始めればよいかわからないため、ファイルの送信は別の問題です。私のRESTサービスはJavaで作成されており、Jerseyを使用しています。すべてのデータをJSON形式で送信しています。 私はbase64エンコーディングについて読みましたが、一部の人々はそれが良いテクニックであると言い、他の人はファイルサイズの問題が原因ではないと言っています。正しい方法は何ですか?これが私のプロジェクトの単純なリソースクラスの外観です。 import java.sql.SQLException; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Request; import javax.ws.rs.core.UriInfo; import com.mx.ipn.escom.testerRest.dao.TemaDao; import com.mx.ipn.escom.testerRest.modelo.Tema; @Path("/temas") public class TemaResource { @GET @Produces({MediaType.APPLICATION_JSON}) public List<Tema> getTemas() throws SQLException{ TemaDao temaDao = new TemaDao(); List<Tema> temas=temaDao.getTemas(); temaDao.terminarSesion(); return temas; } } ファイルを送信するためのコードは次のようになると思います: import …
103 java  json  web-services  rest  jersey 

16
System.Net.Http:名前空間に欠落していますか?(.net 4.5を使用)
TL; DR:私はこの言語に不慣れで、自分が何をしているかわからない これが今のところ私のクラスです: using System; using System.Collections.Generic; using System.Net.Http; using System.Web; using System.Net; using System.IO; public class MyClass { private const string URL = "https://sub.domain.com/objects.json?api_key=123"; private const string data = @"{""object"":{""name"":""Title""}}"; public static void CreateObject() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; StreamWriter …
102 c#  api  rest  post 

5
Spring Boot Rest Controllerは、さまざまなHTTPステータスコードを返す方法を教えてください。
シンプルなREST APIにSpring Bootを使用していて、何かが失敗した場合に正しいHTTPステータスコードを返したいのですが。 @RequestMapping(value="/rawdata/", method = RequestMethod.PUT) @ResponseBody @ResponseStatus( HttpStatus.OK ) public RestModel create(@RequestBody String data) { // code ommitted.. // how do i return a correct status code if something fails? } SpringとSpring Bootの新機能である基本的な質問は、問題が発生した場合や失敗した場合に異なるステータスコードを返すにはどうすればよいですか?
102 spring  rest  spring-boot 

7
AmazonS3ファイルのダウンロード名を変更する
キー名としてGUIDを使用してS3にファイルを保存しています。 S3 RESTAPIに従ってダウンロードするために事前に署名されたURLを使用しています 元のファイル名を自分のデータベースに保存します。ユーザーがクリックしてWebアプリケーションからファイルをダウンロードすると、元のファイル名を返したいのですが、現在取得できるのはGUIDだけです。どうすればこれを達成できますか? 私のWebアプリはセールスフォースにあるため、response.redirectsを実行するための制御があまりありません。ファイルをWebサーバーにダウンロードしてから、ガバナーの制限により名前を変更します。 使用できるHTMLリダイレクト、メタリフレッシュ、Javascriptはありますか?S3のダウンロードファイル名を変更する方法はありますか(私が考えることができる唯一のことは、オブジェクトを新しい名前にコピーし、ダウンロードしてから削除することです)。 多くのユーザーがいるため、ユーザーごとにバケットを作成することは避けたいと思います。それでも、各バケットに含まれる各ファイルに一意の名前が付けられる保証はありません。 他の解決策はありますか?

1
ストリーミングリソースはRESTfulパラダイムにどのように適合しますか?
RESTfulサービスを使用すると、リソースを作成、読み取り、更新、および削除できます。これは、データベースアセットのようなものを扱うときにうまく機能しますが、これはどのようにストリーミングデータに変換されますか?(またはそうですか?)たとえば、ビデオの場合、各フレームを1つずつクエリする必要があるリソースとして扱うのはばかげているようです。むしろ、ソケット接続をセットアップして一連のフレームをストリーミングします。しかし、これはRESTfulパラダイムを壊しますか?ストリームを巻き戻しまたは早送りしたい場合はどうすればよいですか?これはRESTfulパラダイム内で可能ですか?それで、ストリーミングリソースはどのようにRESTfulパラダイムに適合しますか? 実装の問題として、私はそのようなストリーミングデータサービスを作成する準備ができています。それを確実に「最善の方法」で実行したいと考えています。この問題は以前に解決されていると思います。誰かが私に良い素材を指摘することはできますか?
101 rest  streaming  theory 

9
REST APIを置き換えるWebsocket API?
主な機能がWebSocketまたはロングポーリングを介してリアルタイムで動作するアプリケーションがあります。 ただし、サイトのほとんどはRESTfulな方法で記述されており、将来のアプリケーションや他のクライアントにとっては便利です。ただし、RESTから離れて、すべてのサイト機能のWebSocket APIへの移行を考えています。これにより、リアルタイム機能をサイトのすべての部分に統合しやすくなります。これにより、アプリケーションやモバイルクライアントの構築が難しくなりますか? 一部の人々はすでにこのようなことをしていることがわかりました:SocketStream


6
GraphQLに不利な点はありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 12か月前に閉鎖。 この質問を改善する GraphQLに関するすべての記事で、その素晴らしさがわかりますが、欠点や欠点はありますか?ありがとうございました。

27
「フィールドには、見つからなかったタイプのBeanが必要でした。」mongodbを使用したエラースプリングRESTfulAPI
だから私はこのチュートリアルに従って、数週間で春を学んでいます RESTfulWebサービスの構築 それをmongodbに統合しようとするまで、すべてが順調でした。だから私はこのチュートリアルに従います。 MongoDBを使用したデータへのアクセス しかし、私の練習は部分的にまだ最初のものを使用しています。だから私のプロジェクトのディレクトリ構造はこんな感じです。 src/ ├── main/ │ └── java/ | ├── model/ | | └── User.java | ├── rest/ | | ├── Application.java | | ├── IndexController.java | | └── UsersController.java | └── service/ | └── UserService.java └── resources/ └── application.properties これは私のmodel / User.javaファイルです package main.java.model; import org.springframework.data.annotation.Id; …
101 java  spring  mongodb  rest 


9
RESTとRPCのWebサービスの違い
JSONパラメータを受け入れるWebサービスがあり、メソッドに特定のURLがあります。例: http://IP:PORT/API/getAllData?p={JSON} ステートレスではないため、これは明らかにRESTではありません。Cookieが考慮され、独自のセッションがあります。 RPCですか?RPCとRESTの違いは何ですか?
100 web-services  rest  rpc 

9
そのREST APIは本当にRPCですか?ロイ・フィールディングはそう考えるようです
RESTについて私が知っていると思っていたものの多くは明らかに間違っている-そして私は一人ではない。この質問には長い導入がありますが、情報が少しばらばらなので、必要なようです。このトピックにすでに精通している場合は、実際の質問が最後に来ます。 Roy FieldingのREST APIの最初の段落はハイパーテキスト駆動である必要があることから、彼の仕事が広く誤解されていると彼が信じていることは明らかです。 HTTPベースのインターフェースをREST APIと呼ぶ人々の数に不満を感じています。今日の例はSocialSite REST APIです。それがRPCです。それはRPCを叫びます。ディスプレイには非常に多くのカップリングがあるため、Xレーティングを指定する必要があります。 フィールディングでは、REST APIのいくつかの属性をリストします。それらのいくつかは、SOや他のフォーラムでの一般的な慣行と一般的なアドバイスの両方に反対するようです。例えば: REST APIは、最初のURI(ブックマーク)と、対象とするオーディエンスに適した標準化されたメディアタイプのセット(APIを使用する可能性のあるすべてのクライアントによって理解されることが期待される)以外の事前知識なしで入力する必要があります。... REST APIは、固定リソース名または階層(クライアントとサーバーの明らかな結合)を定義してはなりません。... REST APIは、リソースの表現とアプリケーションの状態の駆動に使用されるメディアタイプの定義、または既存の標準メディアタイプの拡張リレーション名やハイパーテキスト対応マークアップの定義に、ほとんどすべての記述的努力を費やすべきです。... 「ハイパーテキスト」のアイデアは中心的な役割を果たします。URI構造やHTTP動詞の意味よりもはるかに重要です。「ハイパーテキスト」は、コメントの1つで定義されています。 私が[フィールディング]とハイパーテキストを言うとき、それは情報とコントロールの同時の提示を意味し、情報はユーザー(またはオートマトン)が選択肢を取得してアクションを選択するためのアフォーダンスになるようにします。ハイパーメディアは、メディアストリーム内に一時的なアンカーを含めるというテキストの意味を拡張したものです。ほとんどの研究者は区別を落としました。 ブラウザでハイパーテキストをHTMLにする必要はありません。マシンは、データ形式と関係タイプを理解すると、リンクをたどることができます。 私はこの時点で推測していますが、上記の最初の2つのポイントは、次のようなFooリソースのAPIドキュメントは、クライアントとサーバー間の密結合につながり、RESTfulシステムには場所がないことを示唆しているようです。 GET /foos/{id} # read a Foo POST /foos/{id} # create a Foo PUT /foos/{id} # update a Foo 代わりに、エージェントは、/ foosに対してGETリクエストを発行するなどして、すべてのFoosのURIを検出するように強制する必要があります。(これらのURIは、上記のパターンに従うことが判明する可能性がありますが、それはポイントの横にあります。)応答は、各アイテムへのアクセス方法とそれで実行できることを伝えることができるメディアタイプを使用し、上記の3番目のポイントをもたらします。 。このため、APIドキュメントでは、応答に含まれるハイパーテキストを解釈する方法の説明に重点を置く必要があります。 さらに、FooリソースへのURIが要求されるたびに、応答には、エージェントがURIを介して関連リソースや親リソースにアクセスしたり、作成後にアクションを実行したりするなどの方法を発見するために必要なすべての情報が含まれます/リソースの削除。 システム全体の鍵は、応答がメディアタイプに含まれるハイパーテキストで構成され、それ自体がエージェントに処理のオプションを伝えることです。これは、ブラウザが人間に対して機能する方法と同じです。 しかし、これは現時点での私の推測です。 フィールディングはフォローアップを投稿し、彼の議論はあまりに抽象的で、例が不足しており、専門用語が豊富であるという批判に応えました。 他のものは、私が書いたものをより直接的に、または今日のいくつかの実際的な懸念に適用できる方法で解読しようとします。次のトピックに取り組んでいる、会議の準備をしている、別の標準を書いている、遠く離れた場所に旅行している、または給料を稼いだと感じさせるちょっとしたことをしているので忙しくないので、おそらくそうしません。 それで、実用的な考え方を持つRESTエキスパートへの2つの簡単な質問:Fieldingが言っていることをどのように解釈し、REST APIを文書化/実装するときにそれをどのように実践しますか? 編集:この質問は、話している内容の名前がないと、何かを学ぶのがどれほど難しいかを示す例です。この場合の名前は、「アプリケーション状態のエンジンとしてのハイパーメディア」(HATEOAS)です。
99 rest  hateoas 

3
Restfulバックエンド用のEmber.jsまたはBackbone.js [終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 ember.jsは、backbone.jsとは対照的に、より重いアプローチであることはすでに知っています。私は両方について多くの記事を読みました。 Rails Restバックエンドのフロントエンドとして、どのフレームワークがより簡単に機能するかを自問しています。backbone.jsについては、レストバックエンドを呼び出すためのさまざまなアプローチを見ました。残りは、「データ」や「リソース」のようないくつかのライブラリを含める必要があるようです。これにはなぜ2つのライブラリがあるのですか? それで、より良い選択は何ですか?フロントエンドとバックエンドを接続する多くの例もありません。これに対するバックエンドレストコールの良い動作例は次のとおりです。 URI:../restapi/topics GET auth認証情報:admin / secrect形式:json

3
GRPCとRESTの違いは何ですか?
私はこのGRPCの説明を読んでおり、この図は興味深いものです。 トランスポート層はどのように機能しますか?ネットワーク経由の場合...なぜRPCと呼ばれるのですか?さらに重要なことに、これはサービス層(http要求を行うメソッドを持つクライアントのクラス)のAPIを実装するRESTとどのように違うのですか?
98 rest  grpc 

8
たくさんのアイテムを削除するための落ち着いた方法
ではRESTのためのwikiの記事 、あなたが使用している場合ていることを示しているhttp://example.com/resources手段あなたがコレクション全体を削除していることを、DELETE。 http://example.com/resources/7HOU57Y DELETE を使用する場合は、その要素を削除することを意味します。 私はウェブサイトをやっています、ウェブサービスではないことに注意してください。 リストの各アイテムに1つのチェックボックスがあるリストがあります。削除するアイテムを複数選択したら、ユーザーが[DELETE SELECTION]というボタンを押すことを許可します。ユーザーがボタンを押すと、削除の確認を求めるjsダイアログボックスがポップアップします。ユーザーが確認すると、すべてのアイテムが削除されます。 では、どのようにすれば、複数のアイテムをRESTLULな方法で削除できるでしょうか? NOTEは、現在のWebページでのDELETEのために、私は何をやっていることは、私はアクションとしてPOSTでFORMタグを使用しますが、以来、DELETE値との_methodなどがあり、これは、WebページのためのRESTfulな削除を行う方法にSOで他の人によって示されたものです。
97 rest 

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