Я новичок в WCF (и довольно ржавый с .NET в целом), поэтому есть определенный шанс, что это ответ на вопрос, и я просто пропустил его.
Я создаю приложение ASP.NET MVC, которое будет использовать RESTful на основе JSON API для своего бэкэнда. Я искал разные варианты общения с таким API в .NET, и похоже, что WCF - самый популярный выбор на сегодняшний день. Чтение еще раз в WCF Теперь у меня есть базовый потребительский класс, который делает запрос, и это начало.
Но теперь мне нужно больше с этим работать, и я не добиваюсь больших успехов. Мне нужно отправить POST в API с телом JSON. Вот что у меня есть:
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Runtime.Serialization;
namespace APIConsumer {
[ServiceContract]
public interface IAPIClient {
[OperationContract]
[WebInvoke(
Method = "POST",
BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/session/login.json"
)]
string SessionLogin(string login_name);
}
public class APIClient : ClientBase<IAPIClient>, IAPIClient {
public string SessionLogin(string login_name) {
return this.Channel.SessionLogin(login_name);
}
}
}
То, что я не могу понять, - это правильный способ передачи a) ЛЮБЫХ данных в теле POST и b) правильного сериализованного объекта .NET как JSON в теле POST. Есть хороший пример того, как это где-то работает?