Я пытаюсь отправить POST-запрос в веб-сервис.Я могу успешно сделать это в консольном приложении, с фиктивным строковым литералом запроса.Тем не менее, когда я пытаюсь сериализовать свой объект с помощью jsonConvert и отправить его в качестве запроса, сервер отвечает ошибочным запросом «400».
My String Literal:
string invoiceRequest = @"{
""DateAndTimeOfIssue"": ""2017-06-15T08:56:23.286Z"",
""Cashier"": ""Oliver"",
""IT"": 3,
""TT"": 0,
""PaymentType"": ""Cash"",
""InvoiceNumber"": ""POS2017/998"",
""ReferentDocumentNumber"": ""ABCD1234-EFGH5678-198"",
""ReferentDocumentDateAndTime"": ""2017-06-07T09:33:52.187Z"",
""PAC"":""11111"",
""Options"":{
""OmitQRCodeGen"": ""1"",
""OmitTextualRepresentation"": ""1""},
""Items"": [{
""Name"": ""Sport-100 Helmet, Blue"",
""Quantity"": 2.0,
""UnitPrice"": 34.23,
""Labels"": [""A""],
""TotalAmount"": 68.46},
{
""Name"": ""Sport-100 Helmet, Blue"",
""Quantity"": 2,
""UnitPrice"": 34.23,
""Labels"": [""A""],
""TotalAmount"": 68.46}],
""Hash"": ""W33lEEgkSRsqTFMO86a8Og==""}";
MyКод:
HttpContent httpContent = new StringContent(invoiceRequest, Encoding.UTF8, "application/json");
HttpClient client;
HttpClientHandler handler;
GetClientAndHandler(out handler, out client);
var response = client.PostAsync($"api/Sign/SignInvoice", httpContent).Result;
Выше работает отлично.Однако теперь вместо этого я хотел бы сделать следующее:
HttpContent httpContent = new StringContent((JsonConvert.SerializeObject(this).ToString()), Encoding.UTF8, "application/json");
По какой-то причине вышеописанное не работает (даже если я удалю ToString ()).Ниже приведено то, что я получаю при выводе JsonConvert.SerializeObject (this) в файл.
{
"DataAndTimeOfIssue": "2017-06-15T08:56:23.286Z",
"Cashier": "Kushal",
"IT": "Training",
"TT": "Sale",
"PaymentType": "Cash",
"InvoiceNumber": "POS2017/998",
"ReferentDocumentNumber": "ABCD1234-EFGH5678-198",
"ReferentDocumentDateAndTime": "2017-06-07T09:33:52.187Z",
"PAC": "11111",
"Options": {
"OmitQRCodeGen": "1",
"OmitTextualRepresentation": "0"
},
"Items": [{
"GTIN": "Item 1",
"Name": "Smokes",
"Quantity": 3.0,
"UnitPrice": 11.0,
"Discount": 0.0,
"Labels": ["A"],
"TotalAmount": 30.0
}, {
"GTIN": "Item 2",
"Name": "Smokes",
"Quantity": 3.0,
"UnitPrice": 0.0,
"Discount": 0.0,
"Labels": ["A"],
"TotalAmount": 30.0
}],
"Hash": "W33lEEgkSRsqTFMO86a8Og=="
}
Благодарен за любую помощь по этому вопросу.Благодарю.Кроме того, из-за ограничений дизайна решения я должен использовать это, а не что-либо еще.