asp.net-web-api - WebApi 不接受 RestSharp AddJsonBody
问题描述
我有一个 WebApi 端点,我可以用 curl ok 调用:
curl -X POST "https://endpoint/SendPin?email=john@smith.com" -H "accept: application/json"
WebAPI 看起来像这样:
[HttpPost]
[Route("SendPin")]
public async Task<bool> SendPin([Required] [EmailAddress] string email)
{
....
}
问题:当我使用 RestSharp 调用服务器时,服务器返回一个 BadRequest 消息“需要电子邮件”???
var request = new RestRequest("SendCode");
request.AddJsonBody(new { Email = "john@smith.com"});
RestClient client = new RestClient(TheUrl);
var response = await client .ExecutePostTaskAsync<bool>(request );
看来 RestSharp 没有作为参数发送到 url?
解决方案
因为参数是简单类型,所以我需要像他这样称呼它:
request.AddParameter("email", credential.Email, ParameterType.QueryString);
推荐阅读
- javascript - onclick , onkeydown ... 是浏览器 api 还是 JavaScript api?
- ballerina - 是否可以在芭蕾舞演员中传递多个 toml 配置文件?
- javascript - Nightmarejs,点击文本,如果存在
- r - r- 将变量列表输入到矩阵中以进行 t.test
- azure - 具有 Blob 存储的 Azure Functions。如何为子文件夹创建 BlobTrigger?
- logstash - 通过 grok 过滤器解析日志
- r - 使用 dplyr 将输入从 Shiny 传递到 plotly 时,filter_imp 出错
- c++ - VSCode:调试时无法打开图像(C++/SFML)
- ios - 如何在 iOS 11+ 中录制 FLAC 格式
- c++ - 代码块编译错误与运算符 << 不匹配