我们有一个 Rails 应用程序,我们通过 Restful 界面添加工作订单。
这是控制器代码:
# POST /workorders
# POST /workorders.json
def create
@workorder = Workorder.new(params[:workorder])
respond_to do |format|
if @workorder.save
format.html { redirect_to @workorder, notice: 'Workorder was successfully created.' }
format.json { render json: @workorder, status: :created, location: @workorder }
else
format.html { render action: "new" }
format.json { render json: @workorder.errors, status: :unprocessable_entity }
end
end
end
添加工单后,响应来自以下代码行:
format.html { redirect_to @workorder, notice: 'Workorder was successfully created.' }
另一个应用程序得到的回报是:
<html><body>You are being <a href="http://ndeavor.ameipro.com/workorders/50">redirected</a>.</body></html>
50 是新的 workorder.id,但我们无法解析它。
有没有办法将 workorder.id 放入返回的标题中?我们需要发送数据的应用程序来知道新的 workorder.id 是什么。
此外,有没有办法知道请求来自其他应用程序,而不是在 Rails ui 中创建的新工作订单。
谢谢你的帮助!!
更新 1
请为我澄清一些关于 REST 的事情。如果 restful 输入是 json,那么控制器会返回 json?如果输入是html,控制器可以响应json还是只响应html?
当我使用 RestClient 进行测试时,是否有办法将此 url 转换为 json 输入或添加一些要求 json 响应的内容?
http://localhost:5000/types?type[id]=318&type[typecode]=test4