我有几个关于interal api
的一般性问题,我在网上找不到答案。
我了解外部API是如何工作的,例如,如果我的应用程序中有一个端点,那么外部源可以对该端点进行api调用,例如GET
,并返回json。
但是我不明白在我自己的应用程序中调用同一个端点(通过一个按钮点击,这将只是一个常规的get请求)之间的区别。这被认为是一个internal
API调用,还是只是一个常规的请求,它会根据上下文更改为external
?
返回值是唯一的区别吗?例如,外部API是json,而内部api将返回代码到视图页面?
1条答案
按热度按时间j91ykkif1#
当你点击一个按钮/链接时,它通常会发送一个html请求,由
Accept
头定义:默认情况下,Rails 将呈现
show.html.erb
模板,并将Content-Type
标头设置为text/html
。然后添加
show.json.jbuilder
,现在可以请求 json 响应而不是 html:这是一个 json 请求,因此rails将呈现一个 json 模板。
.json
即可,本例中Accept: text/html
被Rails忽略,它将呈现一个json模板。我不记得rails中有任何内部/外部API的概念,只有请求和响应。
如果需要在控制器中添加更多逻辑来处理不同类型的请求,请使用
respond_to
方法: