はい、できます。これは、RESTful Web サービスの設計と構築のガイドからのものです。
[ServiceContract]
public partial class BookmarkService
{
[WebInvoke(Method = "PUT", UriTemplate = "users/{username}")]
[OperationContract]
void PutUserAccount(string username, User user) {...}
[WebInvoke(Method = "DELETE", UriTemplate = "users/{username}")]
[OperationContract]
void DeleteUserAccount(string username) {...}
[WebInvoke(Method = "POST", UriTemplate = "users/{username}/bookmarks")]
[OperationContract]
void PostBookmark(string username, Bookmark newValue) {...}
[WebInvoke(Method = "PUT", UriTemplate = "users/{username}/bookmarks/{id")]
[OperationContract]
void PutBookmark(string username, string id, Bookmark bm) {...}
[WebInvoke(Method = "DELETE", UriTemplate = "users/{username}/bookmarks/{id}")]
[OperationContract]
void DeleteBookmark(string username, string id) {...}
...
}
私にとっては、この種の RESTful Web サービスの設計はひどいものです。この ServiceContrcat は次のとおりです。
- 保守不可能で脆弱なリモート インターフェイス
- あまりにも多くのメソッドを作成する必要があります
- ポリモーフィズムがない
リモート インターフェイスは安定していて柔軟であるべきだと私は信じています。メッセージ ベースのアプローチを使用して Web サービスを設計できます。
ここで詳細な説明を見つけることができます: Building RESTful Message Based Web Services with WCF、コード サンプルはこちら: Neliburおよび Nelibur nuget パッケージはこちら