我正在用Java创建一个游戏,我需要我的Java客户端以JSON格式从我的Ruby on Rails Web应用程序中检索信息。
我如何说服我的应用程序有时会使用JSON,有时还会使用HTML,具体取决于请求的性质?
这将始终重定向到主页,似乎JSON部分甚至从未运行。
respond_to do |format|
format.html do
redirect_to :root
end
format.json do
render :json => {"test" => "test"}.to_json
end
end
以下是我的请求示例:
PrintWriter request = new PrintWriter(socket.getOutputStream());
request.print( "GET " + path + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Authorization: Basic " + encodedAuth + "\r\n" +
"Connection: close\r\n\r\n");
如果不能(或不应该)这样做,我是否有理由创建一个" API"我的网站部分总是呈现JSON?
答案 0 :(得分:4)
您没有从您的Java应用程序请求json数据。所以默认情况下它的渲染html。 我相信你应该在你的Java应用程序中做这样的事情
request.addHeader("content-type", "application/json");
这将确保您希望以json
格式进行回复。
答案 1 :(得分:0)
这将始终重定向到主页,它似乎是JSON部分 从来没有跑过。
如果从未运行过,可能是因为您没有在java游戏中发送正确的请求标头。尝试使用网址末尾的'.json'
在浏览器中获取路由器,您将能够检索json响应。