繁体   English   中英

Rails API:406在20ms内不可接受

[英]Rails API: 406 Not Acceptable in 20ms

我正在尝试为RoR应用程序构建API。 我有以下几点:

  1. app / controllers / api / base_controller.rb:

     module Api class BaseController < ApplicationController respond_to :json end end 
  2. app / controllers / api / orders_controller.rb

     module Api class OrdersController < Api::BaseController def get_orders os = Order.last @order = Hash.new @order["number"] = os.number @order["id"] = os.id respond_to do |format| format.json { render json: @order } end end end end 
  3. config / routes.rb

     namespace :api do match "/get_orders" => "orders#get_orders" end 

但是当我转到“ localhost:3000 / api / get_orders”时,我得到了406

从2014年9月17日12:19:40 +0530开始为127.0.0.1的GET“ / api / get_orders”获取标签加载(170.5ms)从“标签”位置选择DISTINCT(tags.tag_name)(tags.taggable_type ='产品')由Api :: OrdersController#get_orders作为HTML处理订单加载(0.4ms)选择“ orders”。*从“ orders”排序为“ orders”。“ id” DESC LIMIT 1已完成406在24ms内不可接受

我怎样才能解决这个问题?

在您的控制器中,

respond_to :json

意味着它应该使用JSON格式要求作出回应。 如果您请求任何其他格式(例如HTML),则会收到“ 406不可接受”。

尝试使用JSON扩展名请求页面:

localhost:3000/api/get_orders.json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM