我很惊讶我在 Google 搜索中找不到任何关于此的内容。
我正在使用 TwistedWeb 制作一个简单的 JSON HTTP API。我想自定义 404 页面,以便它返回 JSON 而不是默认 HTML。我该怎么做?
我很惊讶我在 Google 搜索中找不到任何关于此的内容。
我正在使用 TwistedWeb 制作一个简单的 JSON HTTP API。我想自定义 404 页面,以便它返回 JSON 而不是默认 HTML。我该怎么做?
Twisted Web 中没有像something.set404(someResource)
. 当资源遍历到达下一个子节点不存在的点时,默认生成NOT FOUNDIResource.getChildWithDefault
响应 - 如下一次调用所示。根据您的应用程序的结构,这意味着您可能希望拥有自己的基类实现IResource
,它为其所有子类创建您的自定义NOT FOUND资源(或者,更好的是,制作一个包装器,因为组合比继承更好)。
如果您阅读了实现,twisted.web.resource.Resource.getChild
您会看到默认的NOT FOUND行为来自哪里,并且可能会了解如何使用不同的内容创建自己的类似行为。