首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据集插入的ORM JSON请求处理

数据集插入的ORM JSON请求处理
EN

Stack Overflow用户
提问于 2017-12-04 23:45:14
回答 0查看 178关注 0票数 1

我正在尝试查看邮递员通过POST请求发送的JSON请求,以将安全组信息添加到表中,我的请求如下所示

代码语言:javascript
复制
POST /securitygroup HTTP/1.1
Host: localhost:9292
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: c4bef1db-d544-c923-3b0b-e7004e2dd093

{
  "securitygroup":{
    "secgrp_id": 124,
    "secgrp_nm": "SECURITY ADMIN",
    "secgrp_profile_nme": "ADMIN"
  }
}

Roda代码如下所示

代码语言:javascript
复制
# cat config.ru
require "roda"
require "sequel"
require "oci8"
require "json"

DB = Sequel.oracle(host: 'xyz.dev.com', port: '1525', database: 'devbox1', user: 'abc', password: 'pass')

class App < Roda
  plugin :json, classes: [Array, Hash, Sequel::Model, Sequel::Dataset]

  route do |r|
    # secgroup = DB[:security_groups]
    # secgroup.insert(r.params["securitygroup"])
    # secgroup 
    # above insert threw the following error
    # OCIError: ORA-00947: not enough values,
    # because SQL generated as below
    # INSERT INTO "SECURITYGROUPS" VALUES (NULL)
    # so I am trying to access the request object 'r', I feel that I am doing 
    # something which is not correct 

    {"response": r.params.["securitygroup"]["secgrp_id"]}
    # throws undefined method `[]' for nil:NilClass
  end 
end

你能看一下请求并告诉我,我哪里错了,请求格式不正确,或者是否有不同的方法来处理ruby代码上的请求。

我需要帮助来解析以JSON形式出现的请求,类似于https://twin.github.io/introduction-to-roda/中的代码。

代码语言:javascript
复制
  r.post "albums" do
    album = Album.create(r.params["album"])
    r.redirect album_path(album) # /albums/1
  end
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47637006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档