问题描述
是否可以使用 Plumber 在没有正文的情况下发送 API 响应?这是我尝试过的:
#* @param msg The message to echo back.
#* @get /echo
function(msg="",res){
res$body<-NULL
}
和
#* @param msg The message to echo back.
#* @get /echo
function(msg="",res){
}
但在 Postman 的两种情况下,我最终都得到了 {}
的漂亮或原始视图。对我来说它看起来像一个空的身体,但我怎样才能摆脱{}
?
更新 我能够用 python 实现这个结果:
import flask
app = flask.Flask(__name__)
app.config["DEBUG"] = True
@app.route('/',methods=['GET'])
def home():
return "",200
app.run()
现在,我如何对 Plumber 执行同样的操作?
另一个更新
我快到了:
#* @serializer contentType list(type="application/json")
#* @param msg The message to echo back.
#* @get /echo
function(msg="",res){
}
不返回 body,成功!但我也想返回状态代码 = 202(已接受)。所以我尝试了:
#* @serializer contentType list(type="application/json")
#* @param msg The message to echo back.
#* @get /echo
function(msg="",res){
res$status <- 202
}
这几乎有效,但在正文中返回一些符号:�
现在我也需要摆脱它并保留状态代码 202
解决方法
默认情况下,// FIXME
会尝试发送有效的 JSON 响应。如果这不是您想要的,请将序列化更改为类似文本的内容并返回一个空字符串
plumber