私は、アプリケーションから作成したレポートを作成して読むための快適なWebサービスを設計しています。レポートを作成するときに、名前、電話番号、メールなどのプライバシー情報を追加することが可能です。レポートを作成した後、同じWebサービスを通じて公開されます。快適なWebサービス、部分的な読み取り権限
POST /report
{
"name":"test",
"email":"[email protected]",
"report_contents":....
}
リターンでOK 200:
{
"id":1,
"report_contents":....
}
と方法とを取得するレポート: GET /レポート/ {REPORT_ID}
私は管理者が管理することが可能な他のアプリを持っています以前のWebサービスを通じて作成されたレポート。このアプリケーションでは、プライバシーに関する機密情報を表示したいと考えています。特定のレポートを取得するために、次のURLを使用します。
{
"id":1,
"name":"test",
"email":"[email protected]",
"report_contents":....
}
今すぐ問題がある:200 OKを返す
GET /report/{report_id}
。これはまったく同じURLです。両方の呼び出しに同じWebサービスを使用することは可能ですか、従来の、あるいは良い考えですか?しかし、CRUD管理をしていますか?ユーザーの役割によって情報の一部が表示/ブロックされません。それとも、制限付きの別のWebサービスを作る方がよいでしょうか?
あなたが言うことはかなり意味があります。 APIキーやOauth2を使ってAPIを保護することを忘れていました。その役割に基づいて、私は彼らが見ることが許可されているものを返すでしょう。 – Terabyte
返されるモデルを定義するときにあいまい性が問題になることはありませんか? – Terabyte
あいまいさどこ?RESTクライアントは、異なる表現を受け取ることができなければなりません。 – Joe