今天繼續(xù)總結(jié)一下,C#創(chuàng)建WebApi接口
1.創(chuàng)建一個Get接口,不指定入?yún)⒆詣咏邮盏刂窓趨?shù),把入?yún)⒎祷鼗厝?/span>代碼:
[HttpGet]
[Route("test3")]
public string test3(HttpRequestMessage request)
{
string strReturn = "";
string queryString = request.RequestUri.Query; // 獲取查詢字符串部分
if (!string.IsNullOrEmpty(queryString))
{
System.Collections.Specialized.NameValueCollection parameters = System.Web.HttpUtility.ParseQueryString(request.RequestUri.Query);
foreach (var key in parameters.AllKeys)
{
var value = parameters[key];
Console.WriteLine($"Key: {key}, Value: {value}");
strReturn += key + "=" + value + "&";
}
}
return strReturn;
}
2.創(chuàng)建一個Post接口,接收xml格式入?yún)⒉⒎祷鼗厝?/span>
接口中經(jīng)常用到交互形式j(luò)son和xml,json類型的參數(shù)直接通過[FromBody]接受
而接收xml類型的參數(shù)需要HttpRequestMessage代碼:
[HttpPost]
[Route("test4")]
public string test4(HttpRequestMessage Request)
{
var stream = Request.Content.ReadAsStreamAsync().Result;
var xml = System.Xml.Linq.XElement.Load(stream);
return xml.ToString();
}
3.如果WebApi接口中帶.時候就會出現(xiàn)404解決方法:
在Web.config中配置:
<add name="ApiURIs-ISAPI-Integrated-4.0" path="*" type="System.Web.Handlers.TransferRequestHandler" verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" preCondition="integratedMode,runtimeVersionv4.0" />
閱讀原文:原文鏈接
該文章在 2025/7/7 11:55:33 編輯過