问题标签 [json-view]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Json-View 不适用于反应类型(Spring Web mvc,具有反应类型支持)
在 Spring Web mvc 应用程序中,JsonView 对反应类型的支持存在问题。Spring 5 通过 WebMvcConfig 中的 ReactiveTypeHandler + taskExecutor 配置支持响应式类型。数据正在返回,但 JsonView 被忽略,所有数据都将传递给订阅者。这是代码示例:
对于非反应类型,JsonView 由 org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyAdviceChain#processBody 通过 JsonViewResponseBodyAdvice 处理。但它不会在 ReactiveTypeHandler 中触发反应类型。
我知道在spring web响应中,可以通过ServerResponse设置提示Jackson2CodecSupport.JSON_VIEW_HINT来支持json视图,但是这段代码:
在 mvc 中不起作用,它将抛出不受支持的异常 HttpMediaTypeNotAcceptableException,因为此目标类型的 org.springframework.http.converter.GenericHttpMessageConverter#canWrite 为 false。
是否有任何提示或想法如何在 web mvc 上使用 jsonViews 机制来处理反应类型?(由于某些要求,无法将项目中的 web mvc 更改为响应式 web)提前致谢 :)
grails - 在 Grails JSON 视图中使用域方法
我已经使用 VUE 配置文件创建了一个 Grails 4.0 应用程序,并且正在使用 JSON 视图(http://views.grails.org/latest/#_json_views)并且一切正常,但我还没有找到使用域方法的方法.gson 模板
一个完美的例子:
Person.groovy 域类
个人控制器
/views/person/_person.gson
这是我正在尝试做的一个基本示例,但我无法编译这样的东西,而且我什至没有在文档中看到它是否可能。我还尝试在域类“getFullName()”中调用该方法,然后在 gson 文件中执行“fullName person.fullName”,但这也不起作用。
有没有办法在 .gson 文件中使用域类的方法?
更新:这是带有 getFullName() 的堆栈跟踪日志的示例
这是作为 fullName() 方法的一个示例
spring-boot - 如何在spring boot中根据@JsonView的rest方法将不同的名称映射到json属性?
我使用相同的 Java POJO 类使用 Spring boot 实现了 2 组 rest API。我必须根据 API 返回不同的字段并为少数字段使用不同的名称。目前我正在为一组 API 使用 @JsonView。但我还需要为该@JsonView 提供不同的名称。例如:对于@JsonView,字段“host”需要命名为“ip”,而对于其他 API,字段“host”需要命名为“host”。我不确定如何根据@JsonView 映射不同的属性名称。
我检查了一些结果,比如使用 MixIns。但不确定如何在 Spring Boot Rest API 中进行操作,尤其是在方法级别。
控制器方法:
预期:{"ip":"10xxx"} 用于 getConInfo API
{"host":"10xxx", "name":"con1"} 用于 getCon API。
实际:为 getConInfo API 获取 {"host":"10xxx"}
grails - 在控制器操作中渲染 JSON
我有一个 Grails 3.3.8 应用程序
和下的 json 视图views/partner/_companion.gson
:
现在我想在控制器操作中将我的对象渲染为 json:
所有这些马蹄莲输出null
。
什么是正确的渲染方式?
spring-boot - Spring Boot JPA:在自联接关系中的 JSON 视图上递归
对于我正在尝试构建的项目,我需要从用户类到用户类的多对多关系。(用户有朋友,朋友是用户的朋友)。当试图用 JPA 让 Json 脱离 SpringBoot 时。我的 JSON 上有一个递归循环。(只有当两个用户是彼此的朋友时才会发生这种情况)
我知道会发生什么,但找不到问题的解决方案。如您所见,我正在使用不同的视图来“过滤”视图。问题是:如何停止递归?
堆:
为了完整性,JsonViews 类:
java - 杰克逊重用对象忽略了使用java的rest请求中的一些属性
场景:我试图将现有 dto 的某些属性重用于我的 Restful 请求。
给定:com.fasterxml.jackson.annotation.*;//v2.9.0
我试图这样做:
但是当我大摇大摆地访问时:
代替
我做错了什么?
java - 如何仅将 @JsonView 应用于具有 Spring RestController 的对象的子级 - 序列化?
我有这种情况:
现在休息方法:
在这里,我只想用最少的用户对象初始化一个项目,但是什么都不会被初始化,因为我的项目中没有“MinimalUser.class”JsonView,因此它没有被初始化。
我不想将@JsonView 注释放在项目中的所有变量中,因为这将是矫枉过正。
如何告诉控制器仅将 @JsonView-Filtering/Serialization 应用于项目的用户(子)?
因为这个调用工作正常(我只得到必填字段):
grails - Grails JSON 渲染器未公开拦截器的模型
我想将model
字段Interceptor
用于 JSON REST 响应。
控制器方法以域对象响应:
JSON 视图使用JsonViewJsonRenderer
which extends DefaultViewRenderer
,它直接调用
并且不公开ModelAndView
实例。其他渲染器,例如DefaultHtmlRenderer
,通过以下方式公开模型:
有没有办法在响应 JSON 响应时填写模型字段?我是否需要建立自己的子类DefaultHtmlRenderer
集ModelAndView
?
作为一种解决方法,我可以ModelAndView
为每个响应创建一个,但这似乎不符合 Grails 的易用性精神:
javascript - react-json-view 修剪字符串中的所有空白
我使用“react-json-view”来显示 json。问题是,库修剪了交付字符串中的所有空格。
我有一个有效 json 的数据:
我在我的 json 组件中收到输出:
有没有办法让这个json变成原始形状?在代码检查器中,有一个带有空格的原始 json - 只有在 react-json-view 组件中才会更改数据。