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

如何处理返回多种类型响应的spring rest服务调用

印晋
2023-03-14
Class responseDto {
 private Arraylist < Response > response;
 getResponse();
 setResponse();
}

Response {
  String code;
  String trid;
  Getters();
  Setters();
}
{
"response":[
   {
     "code":"100",
     "trid":"123"
   }
 ]
}
{
 "response":{
  "code":"700",
  "trid":"123"
 }
}

共有1个答案

翟奇
2023-03-14

解决方案1:使用@JSONFormat(>2.6版本)

只需用@jsonformat将您的字段注释为

import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Feature;

public class ResponseDto {

    @JsonFormat(with = Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
    private List<Response> response;

    public List<Response> getResponse() {
        return response;
    }

    public void setResponse(List<Response> response) {
        this.response = response;
    }
}

解决方案2:设置DeserializationFeature

public static void main(String[] args) throws IOException {

    ObjectMapper mapper = new ObjectMapper();

    // global setting, can be overridden using @JsonFormat in beans
    // when using @JsonFormat on fields, then this is not needed 
    mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);

    ResponseDto dto =  mapper.readValue(stringResponse, ResponseDto.class);
}
 类似资料:
  • 本文向大家介绍ajax处理服务器返回的三种数据类型方法,包括了ajax处理服务器返回的三种数据类型方法的使用技巧和注意事项,需要的朋友参考一下 其原理很简单,结构上基本不变,只是改变处理返回数据的方式. 1.Text/HTML格式 这种返回类型处理很简单,直接就当作字符串用就行了.为了方便使用,封装成如下函数: 服务器端返回数据格式如下: 例如: 调用格式如下: 2.XML格式 返回的是一个XML

  • 我有一个rest服务,实现如下- 我得到了所有的头和响应状态正确,但我没有得到json响应。这里怎么了?

  • 我正在中创建。如果我没有错的话,是,也就是说,它们在内部被转换成servlet。 所以,我只是想知道,所有的服务方法(用注释的方法)都转换成单独的servlet了吗?

  • 我正试图用CakePHP3制作一个api。有了这个api,我将向系统发送一些批量电子邮件的信息。在将api请求存储到databse中之后,我希望返回已收到请求的确认并开始批处理。完成处理后,我想发送一个回调响应来返回处理状态。在我目前的编码系统中,我必须等待完成这个过程。我怎么能并行地做呢? [我不确定实际问题的标题应该是什么,请随意编辑。:)]

  • 我使用的是openapi 3.0.2版。 我有以下规范描述了我的响应: 对于大多数响应代码,我不返回任何响应体,但是对于400响应代码,我想返回错误对象: 当我为这个endpoint生成Java服务器代码时,方法的返回类型是,这意味着我不能返回错误对象? 似乎与这些问题类似: https://groups.google.com/forum/#!topic/swagger-swaggersocket

  • 我试图使用第三方Web服务(基于php)在asp.netc#应用程序,但失败的服务配置。已经尝试添加服务/Web引用-所有相同的错误: 响应消息的内容类型 text/html 与绑定的内容类型不匹配(text/xml;charset=utf-8)。如果使用自定义编码器,请确保正确实现 IsContentTypeSupport 方法。响应的前 402 个字节是:” [已手动编辑响应以正确显示 对我来