Ruby on rails 想知道这段代码怎么会变成API
几周后,我完成了这个Html解析,它接收一个单词,并在该url中计数ruby counter.rb你好' 我想知道如何将其创建为一个Rails JSON API。我需要请求:url,:word,:count,所以JSON只需要使用url、我请求的单词和在其中发现的重复次数来构建 我完全不知道该怎么做,这似乎很容易,但我就是不明白 希望有人能帮助我,Ruby on rails 想知道这段代码怎么会变成API,ruby-on-rails,json,ruby,api,Ruby On Rails,Json,Ruby,Api,几周后,我完成了这个Html解析,它接收一个单词,并在该url中计数ruby counter.rb你好' 我想知道如何将其创建为一个Rails JSON API。我需要请求:url,:word,:count,所以JSON只需要使用url、我请求的单词和在其中发现的重复次数来构建 我完全不知道该怎么做,这似乎很容易,但我就是不明白 希望有人能帮助我, 谢谢。我想你知道如何创建rails应用程序吧?假设您已经这样做了,您只需要定义一条路线并将其映射到控制器 namespace :count do
谢谢。我想你知道如何创建rails应用程序吧?假设您已经这样做了,您只需要定义一条路线并将其映射到控制器
namespace :count do
namespace :v1 do
match 'count_words', to: 'count#count_words', via: :get
end
end
然后在controllers/count/v1/count\u controller.rb中定义一个控制器
class Count::V1::CountController < ApplicationController
def count_words
# not sure why you're passing URL twice, but hey, whatever
counter = Counter.new(params[:url])
result = counter.count(params[:url], params[:word]
render :json => result
end
end
然后实例化计数器类并将此信息传递给它。然后,控制器将使用包含计数器结果的JSON消息进行响应。您需要确保您的计数器实际返回一个哈希结构,但对于一个简单的API,基本上只需要这样做
要称这样的事情,你应该:
localhost:3000/count/v1/count_words
传递上述JSON消息 我读了这篇文章,但是我不知道我把这个函数放在哪里了,我需要重建什么来交互JSONI想要这样的东西:curl-d{“url”:“;“word”:“TesTing”},然后它返回一个JSON,其中包含url,我问的单词以及url中有多少个单词是的,我的答案会这样做。关键是路由和API资源的控制器。它所做的一切基本上就是获取{“url”:“example.com”;“word”:“TesTing”}并将其传递给计数器类,将结果作为JSON响应传递回请求者。您需要在URL中指定一个操作。在我的示例中,操作是“count_words”,但这可以在路由文件中配置:app/config/route.rb如果您设置了类似于我概述的内容,那么您的命令将是:localhost:3000/count/v1/count_words-d{“url”:“example.com”,“word”:“TesTing”}噢,谢谢!我来看看这个。感谢您的帮助无问题-如果我已经做到了,请不要忘记将此标记为有用/回答问题=)
{
"url": "www.count.co.uk",
"word": "count"
}
localhost:3000/count/v1/count_words