大家好,我的网址是http://somehost/swagger/index.html 那里的end方法如图所示:
我正在尝试创建引用post方法之一的HTTP POST Web请求。
using System;
using System.Collections.Generic;
using System.Net.Http;
namespace SwaggerConsoleAPP
{
class Program
{
static void Main(string[] args)
{
postRequest("http://somehost/api/Referral/GetReferralsByPersonalIdNumber");
Console.ReadKey();
}
async static void postRequest (string url){
IEnumerable<KeyValuePair<string, string>> queries = new List<KeyValuePair<string, string>>() {
new KeyValuePair<string, string>("1133221221","5642")
};
HttpContent q = new FormUrlEncodedContent(queries);
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage responce = await client.PostAsync(url,q))
{
using (HttpContent content = responce.Content)
{
string mycontent = await content.ReadAsStringAsync();
Console.WriteLine(mycontent);
}
}
}
}
}
}
这是控制台应用程序,但控制台写入错误:
{“”:[“输入无效。”]}
有帮助吗?
答案 0 :(得分:0)
我认为,键值对是造成此问题的原因。
API期望personalIDNumber
和pharmacyID
作为两个单独的参数。
最简单的解决方案是只创建具有以下两个属性的类:
public class InputFields
{
public string personalIDNumber{get;set;}
public string pharmacyId{get;set;}
}
只要您的API将此类型的模式作为输入参数,此方法就起作用。
请注意,在发布后的HTTP正文中发送两个参数,您可能需要另外编码as mentioned here.
希望这会有所帮助。