如何使用 Plumber 在没有正文的情况下发送 API 响应?

问题描述

是否可以使用 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...