Closed zation closed 2 years ago
Thank feedback. We will check it later:-)
对的,这是预期的行为,schema 是将 type 和 runtime value 联系起来的媒介。
farrow 支持通过 useRequest()
Hooks 获取到宽泛类型的 request 对象,也支持通过 farrow-schema
或 url-schema
获取更精确类型的 request 对象。
像下面这样就可以获取到 params.id 并且保证为 int 值(带小数的数字无法通过 schema check)
http
.get('/user/<id:int>')
.use((data) => {
return Response.text(JSON.stringify(data));
});
要不要考虑在没有定义 schema 的情况下也能解析出来 string value,这样从 express 或者 koa 迁移的成本会小一点
可以通过 http.use(middleware)
里 useRequest
获取到带 query, params
的请求对象。
express/koa 的 restapi 式接口,也可以不迁移,新的接口使用 farrow-api
来开发,可以实现端到端类型同步,见文档
例如
请求 GET
/user/1?name=a
时,输出的是版本如下: "express": "^4.18.1", "farrow-express": "^1.12.0", "farrow-http": "^1.12.0",