我已在App1
中设置了API端点,并发布给它以从App2
创建用户记录。
我已将App1
设置为使用JSON进行响应,但JSON响应包含引号(并填充反斜杠)。我理解反斜杠用来逃避引号,但它看起来仍然很奇怪。
预期回复
{id:8, first_name:"Long", last_name:"John Silver", email:"1@example.com", temp_password:"ydKrDdd9zbrGzrm-uMK8"}
实际回复
"{\"id\":8,\"first_name\":\"Long\",\"last_name\":\"John Silver\",\"email\":\"1@example.com\",\"temp_password\":\"ydKrDdd9zbrGzrm-uMK8\"}"
路线
namespace :api do
namespace :v1 do
resources :users, :defaults => { :format => 'json' }
end
end
控制器
def create
@user = User.new(user_params)
@user.temp_password = Devise.friendly_token
if @user.save
render json: @user
else
render json: {res: "Something went wrong"}
end
end
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :temp_password)
end
是否有可能获得类似"预期响应"以上? 可能导致这种情况的原因是什么?
非常感谢。
答案 0 :(得分:4)
您可以使用:
JSON.parse(response)
得到你的期望。 根据您的设置和请求的来源,您可能必须使用:
JSON.parse(response).with_indifferent_access
能够使用引号或符号。