typescript request.body可能为null -正在尝试创建我的第一个Sveltekit API

ruoxqz4g  于 2022-12-05  发布在  TypeScript
关注(0)|答案(1)|浏览(118)

大家好!
我试图用Sveltekit创建我的第一个API路由,我一直遇到第9行的问题,说“request.body可能为空”,它不允许我从请求中提取id。
如果您能帮助我了解我做错了什么,我将不胜感激!

ryevplcw

ryevplcw1#

Typescript的类型检查意味着它知道不能保证request对象上的body字段会有值,这就是为什么它显示这个消息的原因。你需要做的是添加一个保护--一段代码,检查request.body是否有值,如果没有,则进行某种错误处理或替代处理。
看看您的代码,如果没有id,您可能不想做太多事情,因此守卫可以抛出一个错误,最好是一个有用的消息,如"Invalid request: Need to supply 'id' field in request body"
下面的代码片段给出了一个guard子句的例子。你可能还需要验证.get("id")是否未定义。

const data = request.body;
if (data === undefined) {
  throw new Error("Invalid request: Need to supply 'id' field in request body");
}
const id = data.get("id")

相关问题