使用 Grape 写 api 的时候遇到需要返回 html 页面的问题,但是 render 行不通,网上查了挺多,但是依然没有解决
我其实就想在 rails+grape 的情况下解决 api 接口返回 html 页面的问题。。。。不是叫我重新换框架。。不如语言也换了好了。。。
module Twitter class API < Grape::API version 'v1', using: :header, vendor: 'twitter' format :json prefix :api
format 有么?
#1 楼 @chenge 有的
module API class News < API::Root version 'v2' format :json content_type :html, "text/html" get :news do @news = New.all @total = @news.count @news = @news.paginate(:page => params[:page], :per_page => 20) present :total, @total present :status, :success present :data, @news, with: API::Entities::News end get :news_detail, :html => 'news_detail' do @news = New.find(params[:id]) @news.pv += 1 render '/views/news_detail' end end end
你是需要 html,那么 format 是不是应该改成 html?
#4 楼 @chenge missing mime type for html format :html 会报错
Sinatra + grape 吧 或者直接上 rails
#6 楼 @flowerwrong 我用的就是 rails+grape
所以用 Rails 不就好了 https://ruby-china.org/topics/25822
直接回来一段字符串得了。
#8 楼 @rei 嗯我决定还是不用 grape,直接拿 rails 写好了,果然还是原配好呀