Добрый день!
Реализовал вебсервис, который принимает на вход номер телефона, проверяет этот номер телефона в базе. Теперь не понимаю как обработать и сгенерировать ответ на сервис: нужно, чтобы при положительной проверке в базе в ответ (статускод 200) отправлялся некий объект1 в джейсоне; а при отрицательном ответе (статусКод 422) в теле ответа отправлялся другой объект2. По примерам на портале мало информации, и опыта у меня очень мало в этом деле.
Помогите пожста разобраться.
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class ilayNewTerminalService: BaseService
{
OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
public AuthorizationCodeResponseOk authorization_code(AuthorizationCodeRequest request) {
var resultNew = new AuthorizationCodeResponseOk();
var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Contact");
var colId = esq.AddColumn("Name");
var colName = esq.AddColumn("ilayMainPhine");
var esqFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "ilayMainPhine", "+" + request.phone);
esq.Filters.Add(esqFilter);
var entities = esq.GetEntityCollection(UserConnection);
if (entities.Count < 1)
{
//Здесь нужно отправлять в ответе статусКод 422 и в теле ответа еще добавлять некий объект из 2 стрингов
WebFaultException error = new WebFaultException(HttpStatusCode.UpgradeRequired);
throw error;
//return resultNew;
}
resultNew.debug_text = entities[0].GetColumnValue(colId.Name).ToString();
resultNew.phone = "+" + request.phone;
return resultNew;//Здесь ответ получается выводить с нужным статусКодом и объектом
}
}
Нравится
Насколько понимаю, в соседней теме уже решили и с 422, и с телом ответа.