- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近一直在 R 中试验 Plumber,当我使用 POST 请求传递以下数据时取得了成功;
{"Gender": "F", "State": "AZ"}
#* @post /score
score <- function(Gender, State){
data <- list(
Gender = as.factor(Gender)
, State = as.factor(State))
return(data)
}
[{"Gender":"F","State":"AZ"},{"Gender":"F","State":"NY"},{"Gender":"M","State":"DC"}]
{
"error": [
"500 - Internal server error"
],
"message": [
"Error in is.factor(x): argument \"Gender\" is missing, with no default\n"
]
}
最佳答案
我在这里看到两种可能的解决方案。第一个是基于命令行的方法,我假设您正在尝试。我在 Windows 操作系统上对此进行了测试,并使用了基于列的 data.frame 编码,由于 JSON 字符串长度较短,我更喜欢这种编码。确保正确转义引号以避免“参数“...”丢失,没有默认错误:
curl -H "Content-Type: application/json" --data "{\"Gender\":[\"F\",\"F\",\"M\"],\"State\":[\"AZ\",\"NY\",\"DC\"]}" http://localhost:8000/score
# [["F","F","M"],["AZ","NY","DC"]]
第二种方法是 R 原生的,具有将所有内容集中在一个地方的优势:
library(jsonlite)
library(httr)
## sample data
lst = list(
Gender = c("F", "F", "M")
, State = c("AZ", "NY", "DC")
)
## jsonify
jsn = lapply(
lst
, toJSON
)
## query
request = POST(
url = "http://localhost:8000/score?"
, query = jsn # values must be length 1
)
response = content(
request
, as = "text"
, encoding = "UTF-8"
)
fromJSON(
response
)
# [,1]
# [1,] "[\"F\",\"F\",\"M\"]"
# [2,] "[\"AZ\",\"NY\",\"DC\"]"
请注意
httr::POST()
需要一个长度为 1 的值列表作为查询输入,因此应事先对数组数据进行 jsonified。如果你想完全避免额外的包导入,一些
system()
,
sprintf()
等魔法应该可以解决问题。
R/plumber.R
并稍微浓缩):
#* @post /score
score = function(Gender, State){
lapply(
list(Gender, State)
, as.factor
)
}
以及启动 API 的代码:
pr = plumber::plumb("R/plumber.R")
pr$run(port = 8000)
关于json - 如何在 R 中使用 Plumber 使用一组 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48667477/
遇到 gulp-plumber 问题,因为它在抛出错误时破坏了我的构建。 例如,我使用无效语法(例如 padding-left:woah-err)对我的 scss 进行了更改。管道工在终端中通知我错误
我希望分离出复杂的 API 结构,以便拥有以下结构。我想知道。有没有办法将 users/文件夹下的所有文件挂载到同一个 ./api/v1/users 路由?项目也一样/?一个关键的考虑点是,我也会在这
我正在尝试通过 Docker 公开我的管道工服务器。我从 RStudio 中的水管工那里收到一条日志,表明它正在监听我想要的端口。 swagger 启动并运行良好(该 API 通过我的浏览器中的 sw
我已经使用 pdf 管道工根据 GitHub 页面( https://github.com/jsvine/pdfplumber )从 pdf 文件中提取文本我浏览了所有属性,如果元数据不存在,我需要提
我有一个 gulp watch 的问题,错误后会中断。然后我找到了一个不错的reference使用水管工及其扩展,gulp-prettyerror . 然后我创建这个gulpfile.js const
我正在尝试扩大我的R plumber API的规模,并开始使用Traefik 2.0作为公开,负载均衡和保护其余用R编写的API的方式。我无法让traefik添加基本身份验证并通过路径和向运行我的AP
因此,如果我手动运行管道工命令,我有一个可以在本地和服务器上正常工作的 API,我的意思是在服务器中 ssh-ing 并运行: r <- plumb("plumber.R") r$run(port=8
是否可以创建一个我可以将标题和错误消息传递给的全局 OnError 函数? 我希望对所有与管道工一起运行的任务做这样的事情: onError = function(error) { $.n
我检查过 GitHub Repo和 doc但仍然无法弄清楚如何在 Plumber 中获取客户端 IP。 这是我尝试过的实现,我想将所有请求的 IP 地址添加到日志文件中, #' @post /v1/r
我检查过 GitHub Repo和 doc但仍然无法弄清楚如何在 Plumber 中获取客户端 IP。 这是我尝试过的实现,我想将所有请求的 IP 地址添加到日志文件中, #' @post /v1/r
我想使用 plumber 包来执行一些灵活的并行处理,并希望它能在 node.js 框架中工作,这样它就不会阻塞... 我有以下管道工文件。 # myfile.R #* @get /mean norm
我最近一直在 R 中试验 Plumber,当我使用 POST 请求传递以下数据时取得了成功; {"Gender": "F", "State": "AZ"} 这允许我编写一个如下所示的函数来返回数据。
所以我得到了这个整洁的 gulpfile 和所有的东西,除了这一件事外,它工作顺利。 我在运行 gulp-plumber为了阻止监视任务因错误而崩溃,错误被它捕获,但是当我修复错误时,观察者拒绝继续。
我尝试在 gulp (gulp-plumber) 中使用这个插件。我研究了这个插件,它会给你错误,但它观察状态不会停止。换句话说,它会在命令行上给你的文件错误。但它不会停止观看 。 https://w
我正在使用 plumber 在 R 中编写 API 和 API理想情况下,它将使用它在 POST 上收到的 JSON。但我无法获得 endpoint POST example那样工作,所以我可能遗漏了
我正在尝试创建一个基于 2 个 docker 容器的演示。每个容器都运行 R-Studio (rocker/verse)。 一个容器正在发布 API,另一个容器使用 GET(在 ShinyApp 内部
我认为这是一个很好的 R 管道工库的快速演示,但主要是我正在努力以 csv 格式提供数据 我正在使用 R 的管道工包来为我的一些运动数据托管 API 端点。目前,我有一些数据可以获取我尝试服务的 ML
我正在尝试使用 POST 请求正文中的 MSXML2.ServerXMLHTTP 从 VBA 将大约 140 行和 5 列的表作为 JSON 对象(大小约为 20 KB)发送到使用管道工从 R 提供的
平台: - 具有 16 个内核和 128 GIG RAM 的 AWS 实例。 - 红帽企业 7.5。 - R。 - RStudio 服务器。 - Plumber API 将 R 函数公开为 Web 服
我是一名优秀的程序员,十分优秀!