Я работаю над Web-API
и получаю POST
запрос с телом с Content-type
как x-www-form-urlencoded
. С этим я могу обработать запрос, но словарьпо какой-то причине всегда пуст.Это потому, что я использую неправильный тип данных?Или есть что-то еще, что не так?
static List<string> strings = new List<string>();
[HttpPost]
public void Post(Dictionary<string,string> value) //why is the dictionary empty?...
{
foreach (KeyValuePair<string,string> kvp in value)//keyValuePair
{
strings.Add("Key = " + kvp.Key + ", Value = " + kvp.Value);
}
}
Я не знаю, может ли это помочь, но у меня есть это в моем файле WebApiconfig.cs
, поэтому он возвращается в application/json
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Я также хочу извиниться, если этот вопрос не так хорош или ему не хватает определенной информации.Я постараюсь добавить все, что вам нужно.Просто дай слово.Спасибо!
РЕДАКТИРОВАТЬ: отправить запрос на мой API.
HEADER
host: localhost:60509
Accept: application/json,*/*
Accept-Encoding: gzip,deflate
Content-Type: application/x-www-form-urlencoded
User-Agent: Slackbot 1.0 (+https://api.slack.com/robots)
X-Slack-Request-Timestamp: 1568976729
X-Slack-Signature: v0=3fb0dda35d6925cabc393dabf3525ec998a755837316e5019e53a86c900f6651
Content-Length: 381
Connection: keep-alive
единственное, что я могу изменить, это хост.