2009-05-16 8 views
0

今、私はAPIを書こうとしているアプリケーションを開発しました。アプリケーションは理想的には文字列をユーザーに返します。アプリケーションから送信された文字列が不明なため、APIは通常のプログラムでデータを「返す」ことはできません。 Unixシステムでは、このデータを名前付きパイプを通じてユーザーに渡すのは悪い考えですか?私は、APIの作成の詳細に関する情報を見つけるのに苦労しました。助けてくれてありがとう。ユーザーにデータを返す(良いAPIデザイン)

答えて

3

APIは、アプリケーションから送信された文字列が不明確な場合があるため、プログラムで通常の方法でデータを返すことはできません。 Unixシステムでは、このデータを名前付きパイプを通じてユーザーに渡すのは悪い考えですか? Unixでは

それは標準出力」にデータを書き込むことで、出力するプログラム多分そのデータを、それが好きなだけデータ、データの多くのために一般的です。ユーザーはこの出力を画面またはファイルにパイプするか、別のプログラム(たとえばデータをフィルタリングする可能性があります)への入力としてパイプすることができます。

APIの作成に関する詳細情報を見つけるのに問題がありました。

http://www.faqs.org/docs/artu/、FWIWかなり有名である:http://www.faqs.org/docs/artu/ch07s02.html#plumbingは別のプログラムにあるプログラムからの出力データへのパイプを、使用について(いくつかの例で)何かを言います。

0

アプリケーションによって異なります。短命のコマンドラインツールであれば、stdin/write-to-stdoutモデルは完全にうまく動作します。 grep/sed/awk/perlはデータの後処理を担当します。デーモン、fifo、またはソケットの場合は良いアイデアかもしれませんが、そのストリーム上のクライアント/サーバープロトコルの種類について考える必要があります。そのプロトコルを知っているアプリケーションを提供するライブラリを提供することへの一歩を踏み出すと、アプリケーションライターにあなたのアプリと話すための一貫した関数のセットを提供することが本当のAPIになります。これは古典的なクライアント・サーバーです。たとえば、ほとんどのデータベースがどのように機能しているかです。

関連する問題