Метод WebInvoke= "POST" или "GET" для службы REST в WCF
когда следует использовать post vs get? в службе REST на WCF?, ниже мой интерфейс
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
string DoLodge(string Id, Lodge value);
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
LodgeLevel[] GetLodgeLevels(string Id);
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
long GetLodgeCount(string Id);
4 ответов
POST следует использовать при отправке обновления обратно на сервер.
GET должен использоваться при получении объекта с сервера.
возможно, вы захотите прочитать, Что означают http-глаголы в контексте RESTful services:
POST каждый раз, когда вы изменяете какое-либо состояние на сервере, например обновление базы данных, удаление. Получить только для чтения, как выбор базы данных.
GET: получить коллекцию записей (как документ подачи) или одну запись (как документ ввода).
POST: создайте новую запись из документа записи.
PUT: обновление существующей записи с помощью документа записи.
DELETE: удалить запись.
но в C# вы получаете ответ в GET. поэтому полный ответ будет, GET должен использоваться при получении объекта с сервера и при отправке обновления с сервера.