致命错误:在通过 JSONReader 读取请求数据时解包可选值时意外发现 nil

问题描述

我正在尝试实现一个捕获请求的模拟服务器,将其保存为 json 对象的形式并返回 200 状态代码

为此,我使用使馆 + 大使:

https://github.com/envoy/Embassy
https://github.com/envoy/Ambassador

按照 ReadMe.MD 文件中给出的示例,

router["/api/v2/users"] = JSONResponse() { environ -> Any in
    let input = environ["swsgi.input"] as! SWsgiInput
    JSONReader.read(input) { json in
        // handle the json object here
    }
}

我的代码如下:

override init()
    {
        super.init()
        self["/api/videos/(.)"] = JSONResponse {request,response in
            let input =  request["swsi.input"] as! SWsgiInput
            JSONReader.read(input) {
                data in self.parseEvent(from:data as? [String: Any])
                response(["status": 200])
            }
        }
    }

我在第 let input = request["swsi.input"] as! SWsgiInput 行遇到错误 致命错误:在解开一个 Optional 值时意外发现 nil”

如果我不尝试使用 SWsgiInput 解析请求而只返回 200,则它工作正常。但我需要阅读 URLParameters 和 Request body 来做一些验证。

感谢任何帮助。提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)