c# - 使用 HttpClient() 在 C# 控制台应用程序中 PUT 请求 REST API
问题描述
我对在 C# 中创建和使用 REST Web 服务非常陌生。我已经对要发送到 REST 端点的数据进行了编程。我不确定我是否正确地做所有事情。就像我之前提到的,这是我第一次编写 RESTful PUT 请求。
我创建了一个类并创建了一个 PUT 请求。我想看看我的 JSON 结果。它显示no content
. 函数正在为我返回正确的结果。
如何查看我的 JSON 结果?
sb
是类型的对象,Student
当我将请求发送到 URL 时,它返回一个204
状态并且无法更新记录。我试图了解此代码中的不正确之处:
class Student
{
public string Name{ get; set; }
public string Email{ get; set; }
public int Marks{ get; set; }
public List<int> Skills{ get; set; }
}
public static void SendDataSomewhere(List<Student> studentsList)
{
using (var client = new HttpClient())
{
Student sb = new Student
{
Name= "Test Name",
Email = "test@gmail.com",
Marks = HighestMarksFromList(studentsList),
Skills = InDemandSkills(studentsList),
};
client.BaseAddress = new Uri("http://testingApi.net/");
var response = client.PutAsJsonAsync("test", sb).Result;
if (response.IsSuccessStatusCode)
{
Console.Write("Success");
}
else
Console.Write("Error");
}
}
函数正在为我返回正确的结果。var response
正在返回204
状态码。
如何查看我的 JSON 结果?
解决方案
204 - No Content
从请求返回的 APIPUT
仅表示 API 接收到请求并对其进行了处理,但除了成功 (2xx) 响应状态之外,它没有任何意义可以返回。
在 RESTful API 中,这是一个完全正常的预期响应。
为了确定会发生什么,您需要查阅您正在使用的 API 的文档。
推荐阅读
- r - 在R中将数据集从行转换为列
- ios - 如何从块内成功分配变量?
- python - 从 BytesIO 对象中解压时如何修复 EOFError?
- antd - 进度大于 100%
- pandas - 熊猫和过滤
- python - 如何在 mpl_toolkits.axes_grid1.ImageGrid 中设置离散的颜色条刻度?
- python - 如何调试 Supercollider 和 Python 应用程序之间的 OSC 协议
- ibm-watson - watson-knowledge-studio 可以在本地安装 IBM 的 Watson Knowledge Studio 吗?还是仅提供云服务?
- algorithm - 在 Elm 中将 List (Maybe a) 转换为 Maybe (List a)
- python - 使用 pyqtgraph 实时绘制许多子图