我正在尝试将特殊字符传递给Web API中的自定义函数。如果我不传递特殊字符,则该功能有效。我要指的特殊字符是'#','&',....
[HttpGet]
[EnableQuery(MaxExpansionDepth = 5)]
public IQueryable<Test> QueryTest(string Query)
{
var dbTest = db.Test.AsQueryable();
return dbTest;
}
答案 0 :(得分:1)
URL编码是必经之路。这应该作为您甚至没有想到的默认设置来解决,解决了很多问题。设置WebClient的编码
client.Encoding = Encoding.UTF8;
答案 1 :(得分:1)
一种选择是使用post方法,并将参数通过正文消息中的json对象传递。
[HttpPost]
public IQueryable<Test> QueryTest(QueryTestRequest request)
{
var dbTest = db.Test.AsQueryable();
return dbTest;
}
public class QueryTestRequest
{
public string Query {get; set;}
}