генерировать ответ HTTPResponseMessage в заданный формат - PullRequest
0 голосов
/ 21 апреля 2019

хочу получить ответ метода веб-API, как указано ниже.Попытка использовать HttpResponseMessage, но он не генерируется должным образом в формате json.

{
    "Version": {
        "_Major": 1,
        "_Minor": 1,
        "_Build": -1,
        "_Revision": -1
    },
    "Content": {
        "Headers": [
            {
                "Key": "Content-Type",
                "Value": [
                    "text/plain; charset=utf-8"
                ]
            }
        ]
    },
    "StatusCode": 400,
    "ReasonPhrase": "<error reason>",
    "Headers": [],
    "RequestMessage": null,
    "IsSuccessStatusCode": false
}

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019

Понял.Сначала создали httpResponseObject и заполнили свойства соответствующими значениями.Затем передал объект в request.CreateResponse, он вернет ожидаемый результат.

0 голосов
/ 21 апреля 2019

Вы можете создать объекты ниже и вернуть их:

public class Version {
  public int _Major {get; set;}
  public int _Minor{get; set;}
  public int _Build{get; set;}
  public int _Revision{get; set;}
}
public class HttpReturnMessage {
  public Version Version {get; set;}
  public int StatusCode {get; set;}
  public string ReasonPhrase {get; set;}
  public string[] Headers {get; set;}
  public object RequestMessage {get; set;}
  public bool IsSuccessStatusCode {get; set;}
}

, создать элемент в контроллере и вернуть его:

HttpReturnMessage message = new HttpReturnMessage {
  Version = new Version {
    _Major= 1,
    _Minor = 1,
    _Build = 1,
    _Revision = 1
  },
  StatusCode = 300, 
...
};

и вернуть его как json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...