2017-08-03 6 views
0

私には「APIfy」が必要なソフトウェアがあります。このソフトウェアはCOBOLで書かれ、メインフレームで実行され、エントリポイントは1つだけです。システムの目的は、リスクアセスメントを行うことで見込み顧客を評価することです。それは、いくつかの顧客情報(例えば、SSN、ファーストネームおよびファーストネーム)をパラメータとして取り上げ、いくつかの公的および民間企業に商業的背景を求め、リスクポリシーを実行し、意見を述べる。リソース上で動作しないアクションのRESTfulな設計上の回避策

このサービス用のRESTful APIを設計する方法はわかりません(アーキテクチャ上の要件であり、RPCサービスを作成できません)。私の最初の試みは、次のようなものでした:

POST mysoftwareapi/v0/evaluate 

HTTP本体に顧客データを埋め込みました。しかし、RPCサービス(リソースなし、名詞の代わりの動詞)のような匂いがするので、私はそれを捨てました。それはもう少しRESTfulな見え

POST mysoftwareapi/v0/prospect 

、その後

POST mysoftwareapi/v0/prospect/evaluate 

または

GET mysoftwareapi/v0/prospect/evaluation 

は、それから私は、2段階のAPIコールで出てきました。しかし、私は評価結果が得られ、意見が満足できる(顧客が見通しになる)前に、見通しを維持したくない。

この場合、どのようなRESTful APIデザインを使用しますか?

答えて

1

あなたは確かに正当な理由で永続性を導入したくありません。安心して使えるAPIでの検索のやり方と似ているでしょう。ような何か:

GET /mysoftwareapi/v0/evaluations?firstName=blablabla&lastName=blabla... 

あるいは、paramsがURLに固執するには大きすぎるか、あまりにも敏感であれば:

POST /mysoftwareapi/v0/evaluations 

エンティティボディのパラメータを持ちます。

RESTfulですか?少なくとも、URLは名詞です。

これは、Roy Fielding REST APIの一部である可能性がありますが、クライアントソフトウェアの使用方法や返される内容によって異なります...しかし、実際のREST APIは実際にはどのようなものではありません彼らはREST APIが欲しいと言ってもらいたいので、あまりにも汗をかいてはいけません。それはうまくいくでしょう:)

関連する問題