api接口怎麼傳參

-一个大坑 2019-03-12 12:01:40

[System.Web.Http.HttpPost]
public HttpResponseMessage GetProduceEmplids([FromBody]Dictionary<string, int> counts)
{
var result = ADMAPI.ProduceEmplids(counts);
return ApiResult.toJson(result, string.Empty);
}


看著是鍵值對,這樣傳值接收的是null

string url = ConfigurationManager.AppSettings["DLRWebAPI"].ToString().Trim() + "/GetProduceEmplids";
string param = "{\"Z\":5}";
var aa= HttpPost(url, param);

public static string HttpPost(string url, string param)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
byte[] bs = Encoding.ASCII.GetBytes(param);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;";
request.ContentLength = bs.Length;
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
var aa = reader.ReadToEnd();
return reader.ReadToEnd();
}
}
catch (Exception ex)
{
return "Error";
}
}
...全文
188 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
叫我 Teacher 周 2019-03-17
  • 打赏
  • 举报
回复
如果api要求你用json对象或实体,你这样是不行的
stherix 2019-03-12
  • 打赏
  • 举报
回复
using (var client = new HttpClient()) { var values = new List<KeyValuePair<string, string>>(); values.Add(new KeyValuePair<string, string>("thing1", "1")); values.Add(new KeyValuePair<string, string>("thing2 ", "2")); var content = new FormUrlEncodedContent(values); var response = await client.PostAsync("请求地址", content); var responseString = await response.Content.ReadAsStringAsync(); }
  • 打赏
  • 举报
回复
api接口相关可以看看这篇文章
https://www.cnblogs.com/landeanfen/p/5337072.html#_label1_0
-一个大坑 2019-03-12
  • 打赏
  • 举报
回复
request.ContentType = "application/json";
正怒月神 版主 2019-03-12
  • 打赏
  • 举报
回复
https://blog.csdn.net/hanjun0612/article/details/80431698
-一个大坑 2019-03-12
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
using (var client = new HttpClient())
{
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("thing1", "1"));
values.Add(new KeyValuePair<string, string>("thing2 ", "2"));

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync("请求地址", content);

var responseString = await response.Content.ReadAsStringAsync();
}

System.Net.Http 2.0 版本也試了也不行
無法安裝套件 'Microsoft.Net.Http 2.0.20505.0'。您正嘗試將此套件安裝到以 '.NETFramework,Version=v3.5' 為目標的專案,但該套件不包含任何與架構相容的組件參照或內容檔案。如需詳細資訊,請聯繫套件作者。
-一个大坑 2019-03-12
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
using (var client = new HttpClient())
{
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("thing1", "1"));
values.Add(new KeyValuePair<string, string>("thing2 ", "2"));

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync("请求地址", content);

var responseString = await response.Content.ReadAsStringAsync();
}

.net 版本較低,不能引用HttpClient
無法安裝套件 'System.Net.Http 4.3.4'。您正嘗試將此套件安裝到以 '.NETFramework,Version=v3.5' 為目標的專案,但該套件不包含任何與架構相容的組件參照或內容檔案。如需詳細資訊,請聯繫套件作者。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧