在处理YAML格式的回复时,我遇到了问题。到目前为止,我只处理JSON格式或纯文本的响应体。对于这些类型,我总是准备像gson、jackson和纯文本的标量转换器。我找到了所有转换器的存储库:改装-转换。文档中简短地提到,我需要为这种类型创建自己的转换器。
如果您需要与使用Retrofit不支持的内容格式(例如YAML、txt、自定义格式)的API通信,或者您希望使用不同的库来实现现有格式,则可以轻松地创建自己的转换器。创建一个扩展Converter.Factory类的类,并在构建适配器时传入一个实例。
遗憾的是,我没有看到任何关于如何创建这样一个转换器的教程。是否有任何文件解释如何这样做,或有任何其他选择来处理这种情况?
发布于 2021-11-05 22:02:07
在您的示例中,您可以将Jackon与yaml数据格式一起使用。
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("<your base url>")
.addConverterFactory(JacksonConverterFactory.create(new ObjectMapper(new YAMLFactory())))
.build();要获得更多的信息,请查看以下链接:
https://github.com/square/retrofit/tree/master/retrofit-converters/jackson
https://github.com/FasterXML/jackson-dataformats-text/tree/master/yaml
https://stackoverflow.com/questions/69855268
复制相似问题