我正在研究一個非常簡單的電子商務應用程序,其中UI/html通過一組RESTful API與服務器對話(ASP.NET Web API,具體而言) 。如何爲非資源實體設計REST API
正確執行REST時,API會公開資源。在使用我的域對象(例如Product,User等)時,這很有效。
但是有一些功能不遵循此模式。比如說,當用戶輸入一個訂單號時,我想檢查這是否是一個有效的訂單號。現在我可以在訂單API上做一個簡單的GET並返回無效訂單
GET http://myhost.com/api/orders/SomeOrderNumber -> http 404
但是它是否正確嗎?如果我想返回錯誤代碼和消息,該怎麼辦? (這顯然不是訂單對象的一部分)
那些甚至不屬於我的域名的實體呢?例如我想根據一些參數和條件來驗證郵編。我真的不想要類似
GET http://myhost.com/api/postcodes/SomePostCode -> validation message
如果我想獲得當前登錄的用戶數,應該公開什麼類型的API?如果有人能指點我以前的帖子或有用的文檔,那會非常有幫助。
感謝您的回答佩德羅。 [1]我的意思是隻有404,但寫了null!我的壞,現在編輯。你可以舉一個非常簡短的例子來說明在無效/未發現資源情況下的http響應嗎?帶有錯誤消息正文。 [3]這似乎是合理的。 – 2014-10-31 04:16:59