无法从Unity游戏中嵌入的Nancy REST服务器获取POST正文

本文关键字:REST Nancy 服务器 获取 正文 POST Unity 游戏 | 更新日期: 2023-09-27 18:29:26

我正在尝试为Nancy POST设置一个路由,在那里我希望以Json格式提交一个对象,并使用它在Unity运行时触发一个事件——我认为这应该是相当标准的东西。

我认为,通过遵循NancyFX中的示例:反序列化JSON,我可以将请求的主体绑定到一个对象,然后在其他地方使用它,但实际上我得到了一个相当神秘的错误:

Error CS1061: Type 'server.RESTServer' does not contain a definition for 'Bind' and no extension method 'Bind' of type 'server.RESTServer' could be found (are you missing a using directive or an assembly reference?) (CS1061) (server)

这是来自违规来源的相关部分:

using Nancy;
namespace server
{
    public class RESTServer : Nancy.NancyModule, RESTInterface
    {
        public class LevelInfo
        {
            public string index;
        }
        public RESTServer ()
        {
            Delete ["/current/level"] = _ => 
            {
                UnloadLevel();
                return HttpStatusCode.OK;
            };
            Get ["/current/level"] = _ => Level;
            Post ["/current/level"] = _ => 
            {
                LevelInfo body = this.Bind<LevelInfo>(); //This is the offending line
                // snip rest of implementation
            }
        }
    }
}

我的Mono/Monosdevelop版本信息在这里的pastebin上,Assembly Browser显示了这一点,也链接到了pastebin,用于Nancy。

我通常不怎么做.net开发,所以我相信这是一件非常简单的事情,但我已经花了一个下午的时间来解决这个问题。。。任何帮助都将不胜感激。

无法从Unity游戏中嵌入的Nancy REST服务器获取POST正文

Bind<>Nancy.ModelBinding命名空间中的扩展方法。

您需要using Nancy.ModelBinding;