@
abersheeran 不管是通过 return 返回数据,还是通过 write 指定响应数据,我感觉都很不错。我列举一个爬虫场景:
```python
def spiderHandler(ctx: pywss.Context):
# 参数校验
try:
req = SpiderRequest(**ctx.json())
except UrlInvalidSchemaErr as e:
loggus.error(f"url 参数异常: {e}")
ctx.write(HttpResponse(code=99999, message=f"{e}").dict())
return
except Exception as e:
loggus.error(f"请求参数异常: {e}")
ctx.write(HttpResponse(code=99999, message="请求参数异常").dict())
return
# 爬虫服务
try:
data = spiderService.get(req)
ctx.write(HttpResponse(code=0, message="ok", data=data).dict())
except Exception as e:
loggus.error(f"爬虫服务异常: {e}")
ctx.write(HttpResponse(code=99999, message=f"爬虫服务异常").dict())
```
在这个例子中,不管是 retrun 还是 ctx.write 应该都能写的很漂亮。
我文档中所说的心智负担,主要是很多框架参数、模块,多到记不住,,有时太久不用,想实现一个简单的功能,可能还得对着文档调试半天。。