0

我目前正在将 RestEasy(2.3.6) 与 Jackson(1.9.9) 一起使用,并且需要在我的 JSON 数组前面加上 '{} &&' 以防止 JSON 劫持。

我是杰克逊的新手,很难理解在哪里插入这样的东西。我什至不知道在哪里插入这样的东西才能让它一直发生,我想更进一步,能够指定只为包含 JSON 数组而不是常规对象的返回值添加前缀。

我想在某个地方有一个类我需要子类化并覆盖一个方法,然后以某种方式注册该类。有没有人做过这样的事情?

4

1 回答 1

0

Jukka,您链接到的问题使我找到了解决方案。我扩展JacksonJsonProvider并覆盖了该writeTo()方法。那里有一些条件,我可以jg.writeRaw("{}&&");在它写入值的每个地方之前添加。此外,由于我使用的是 Spring,因此我必须对我的类进行注释@Component才能找到它。

创建您自己的子类的另一个问题JsonProvider是您的休息方法必须具有@Produces('application/json')(无论如何您应该始终明确使用这些方法),否则JsonProvider将使用默认值。

于 2013-06-14T12:23:30.503 回答