c# - 使用 RestSharp 轻松调用 Rest api

标签 c# rest restsharp

我有一个 RestApi,我想将它与我的 c# mvc 客户端一起使用。

我需要发送一些由 C# 模型表示的数据包。

我用代码尝试 RestSharp:

//model = UserModel
var client = new RestClient(apiUrl);
var request = new RestRequest("/user/register", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddParameter("user", model);
request.AddHeader("Content-Type", "application/json; charset=UTF-8");        
var response = client.Execute(request);

在 response.StatusCode 中我有 BadRequest System.Net.HttpStatusCode

如何调试我的请求?我尝试使用 wireshark 查看请求,但没有看到任何 json 数据包。

编辑:

当我使用 AddJsonBody 而不是 AddParameter 时它可以工作,但我的 json 数据包没有按预期格式化。

我要

 {
   "user":
       {"Username": "Test", 
        "Password": "password"
       }
 }

使用 AddJsonBody 我有:

 {
       {
        "Username": "Test", 
        "Password": "password"
       }
 }

如何使用 RestSharp 在 json 数据包中给出“名称”?

最佳答案

你可以使用这个:

request.AddJsonBody(new { user = model });

这将创建一个匿名类型,其属性为“user”,其中包含您的模型。然后,json 序列化程序应生成预期的字符串。

关于c# - 使用 RestSharp 轻松调用 Rest api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29559090/

相关文章:

c# - 非托管 C# 与 C++

C# 使用 RestSharp 发布 XML 文件

c# - 使用 RestSharp 获取 JSON 响应

java - 过滤器逻辑应该在前端还是后端?

rest - TJSON.JsonToObject 不通过 setter

c# - GoToWebinar - 请求不是预期格式 - RestSharp

javascript - 将点数组从 Ink.StrokeCollection 转换为路径数组 freeDrawingBrush Fabric.js

c# - Entity Framework 问题: How to handle errored column

c# - 在 VS 2008 中创建基于服务的数据库并在 Windows 7 上使用 SQL Server Express 2005 时出现用户实例失败错误

java - EntityResponse 字符集编码错误