Rspec api文档+以json格式的apitome请求体

时间:2018-02-02 03:49:03

标签: ruby-on-rails rspec-api-documentation apitome

我正在使用rspec api文档,apitome和oauth2协议为我们的api构建验收测试。一切都很好,但请求体如下所示:

enter image description here

我从上面生成的文档中注意到了什么:

Content-Type: application/x-www-form-urlencoded
那应该是application / json。我已经浏览了一些博客文章并建议将其写成:

post "/api/v1/ticket_carts" do
    header "Content-Type", "application/json"

我试图检查服务器上的参数

def create
    render json: params
    # options = set_ticket_cart_protected_params(filter_params)
    # adapter = Adapter::TicketCart.new(options)
    # @handler = adapter.handler
    # @handler.call

    # render json: @handler.order, serializer: adapter.serializer_class
  end

回复看起来像这样:

enter image description here

从我看到的服务器仍然以表单编码格式从客户端获取params。

根据我的结论,rspec api文档没有将内容类型作为application / json发送到服务器。

有什么我做错了或需要采取哪些措施才能使rspec api文档发送正确的内容类型(application / json)?

1 个答案:

答案 0 :(得分:0)

我在rspec api doc config

中找到了这个



# Change how the post body is formatted by default, you can still override by `raw_post`
  # Can be :json, :xml, or a proc that will be passed the params




然后我尝试了这个



# set content type to json
header "Content-Type", "application/json"
#override the params to json format
let(:raw_post) { params.to_json }