如何禁用JSON中的HTML实体以获取API,但请启用视图



config.active_support.escape_html_entities_in_json是由DeAfult在Rails(V4,V5(中启用的,并且它通过编码HTML Entities <>&来保护某些XSS攻击,并且非常适合视图(HTML(p>,但我认为此编码在API响应中是多余的:

render status: :ok, json: { link: 'https://example.com?p1=v1&p2=v2' }

我希望得到:

{ link: 'https://example.com?p1=v1&p2=v2' }

而不是

{ link: 'https://example.com?p1=v1u0026p2=v2' }

如何禁用JSON中的JSON中的HTML实体,但请启用视图?

谢谢

render json: JSON.generate({ link: 'https://example.com?p1=v1&p2=v2' })

输出:

{"link":"https://example.com?p1=v1&p2=v2"}

将您的对象包裹在as_json中,例如:

render status: :ok, json: { link: 'https://example.com?p1=v1&p2=v2' }.as_json

有关as_json

的更多信息

最新更新