【发布时间】:2022-01-27 17:20:13
【问题描述】:
我正在处理两个 Web API 项目。我从一个 API 收到带有状态代码和消息的另一个 API 的响应。使用以下方法,我需要发送带有消息的状态码。
[HttpPost]
public async Task<string> CreateOrder(Order order)
{
string jsonResponse = null;
HttpClient client = new();
var payload = new JsonPayloadBody();
payload.Api = new Api();
payload.Header = new OrderHeader();
payload.Api.NAME = "CREATE";
payload.Api.QUERY = "CREATE_ORDER";
payload.Header.INTERFACE_RECORD_ID = order.INTERFACE_RECORD_ID;
payload.Header.INTERFACE_ACTION_CODE = order.INTERFACE_ACTION_CODE;
payload.LineItems.Add(li); }
var orderPayload = JsonConvert.SerializeObject(payload);
var payloadObj = JsonConvert.DeserializeObject<MHScaleMessage>(orderPayload);
var requestPayload = payloadObj.ToJsonString();
var stringContent = new StringContent(requestPayload, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(_baseUrl, stringContent);
if (response.IsSuccessStatusCode)
{
jsonResponse = await response.Content.ReadAsStringAsync();
_logger.LogInformation(jsonResponse);
_logger.LogInformation("Order created successfully");
}
else
{
_logger.LogInformation("Order creation filed");
}
return jsonResponse;
}
使用这条线
jsonResponse = await response.Content.ReadAsStringAsync();
我能够向邮递员发送消息,但它总是发送 200 状态代码。所以我需要根据响应发送状态码,例如:
return NotFound
return Ok
return BadRequest
【问题讨论】:
标签: .net-core asp.net-core-webapi