POST 单字符串 Web API

POST single string Web API

我正在尝试为 Windows 创建一个应用程序,它的作用类似于移动应用程序 (PhoneGap) 的服务器。这个应用程序就像服务器应用程序的遥控器,它调用轮到它们做事的方法。

经过长时间的搜索并试图了解哪些组件可以协同工作,我找到了 OWIN 和 Web API。所以我正在尝试将其实现到我的应用程序中,但我似乎无法理解如何 POST 一个字符串来调用方法。

我对流程的想法是,我 POST 向服务器发送一个字符串,它读取该字符串并使用 switch 语句检查该字符串的值,我知道要调用哪个方法。非常简单、直接(可能不是错误的证明),但这是一个开始。

但我似乎无法让它工作。这是我的控制器:

public void Post([FromBody]string value)
        {
           switch(value)
           {
               case("buttonOne"):
                   {
                       mainClass.pressButtonOne();
                       break;

                   }
           }
        }

我正在使用 HttpClient 在主机上模拟客户端:

HttpClient client = new HttpClient();

client.BaseAddress = new Uri("http://localhost:6740");
var content = "buttonOne";

var result = client.PostAsync("api/values", content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
Console.WriteLine(resultContent);

但这会出错,该字符串不是有效的 HttpContent。但它总是要一对而不是一个。

当发出 POST 请求时,post 内容应该是 HttpContent 类型或其派生类型之一。

var content = new FormUrlEncodedContent(new Dictionary<string, string> {
{"value" , "buttonOne"} })