当前位置: 首页 > 知识库问答 >
问题:

使用不同的jackson ObjectMappers进行分离RequestMapping

赵光赫
2023-03-14

我有一个@requestmapping使用自定义MIME类型。该请求使用@configuration中定义的ObjectMapperbean来启用JSONPARSER.feature.allow_backslash_escaping_any_character

是否有一种方法可以区分用于每个@controller@requestmapping的ObjectMapper?

对象映射器Bean

@Bean
public ObjectMapper objectMapper() {
    Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
    builder.featuresToEnable(
      JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER);

    return builder.build();
}

请求映射接口方法

@ApiOperation(value = "Returns the toll cost breakdown for a journey", notes = "", response = TotalCost.class, tags={ "pricing", })
@ApiResponses(value = { 
    @ApiResponse(code = 200, message = "successful operation", response = TotalCost.class) })
@RequestMapping(value = "/pricing/journeyCost",
    produces = { "application/json" }, 
    consumes = { "application/vnd.toll-pricing+json" },
    method = RequestMethod.POST)
ResponseEntity<TotalCost> getTollBreakdownFromEncodedPoly(@ApiParam(value = "Request object representing the journey" ,required=true ) @RequestBody Journey body);

共有1个答案

彭仲卿
2023-03-14

我在另一个用户链接给我的另一个stackoverflow问题中找到了答案--https://stackoverflow.com/a/45157169/2073800

我只需将以下@bean添加到我的@配置

@Bean
public HttpMessageConverters customConverters() {
    Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
    builder.featuresToEnable(
      JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER);

    final AbstractJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(builder.build());
    converter.setSupportedMediaTypes(Collections.singletonList(MediaType.valueOf("application/vnd.toll-pricing+json")));

    return new HttpMessageConverters(converter);
}
 类似资料:
  • 我必须使用WebClient进行分页API调用,并最终组合所有结果。例如:个人最新1000交易详情。在一次调用中,我将在json响应(List)中获得最大100个对象。这个人最多只能得到1000条记录。 在伪代码java中,它可能看起来像这样 如何在SpringMVC中以反应式方式编写相同的内容而不阻塞? 像这样的东西???我不知道。帮助我

  • 问题内容: 我有这个CouchDB / elasticsearch设置。CouchDB作为存储,elasticsearch用于搜索。 我需要执行此查询, 在这个 “表”中 得到这个: 或这个: 或采用任何形式,但不同查询的结果除外。 使用CouchDB可以做到这一点: 但是我想用elasticsearch做到这一点。网络上有一些信息,但不清楚。 有人可以指出我正确的方向来实现我想要的吗? 问题答案

  • 使用java中的split方法将“Smith,John(111)123-4567”拆分为。我需要去掉逗号和括号。这是我到目前为止所掌握的,但它并没有分裂字符串。

  • 问题内容: 我正在使用hibernate和c3p0 connectionpool插入,更新和删除许多分离的对象。问题在于,hibernate不会批处理语句,而是会 在每个session.persist / insert / update / delete(object)之间。分析sql- connection看起来像这样: select @@ session.tx_rad_only总是返回“ 0”

  • 问题内容: 我在用 python 2.7.12 Django 1.10.6 PostgreSQL 9.5.6 postGIS 2.2.2 第一个问题 我需要使用GeoDjango计算两点之间的距离。当我检查了 文档它说, GeoQuerySet.distance() 已被弃用,而使用 距离() 从 django.contrib.gis.db.models.functions 。 以下代码可以正常工