springboot开发xml接口示例,微服务开发xml接口

本文介绍了SpringBoot开发XML接口时的注意事项,包括在接口路径声明中使用`produces`和`consumes`来指定Content-Type,以及使用`@RequestBody`自动映射请求流数据。同时,提到了在微服务环境中遇到的问题,如通过网关调用时的报错,以及在ServiceComb微服务方案中遇到的难点。解决办法包括检查代码、重启网关和清理服务注册中心的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot开发xml接口

  1. 在接口路径声明处增加参数produces和consumes
@PostMapping(value = "/testxml",produces = MediaType.APPLICATION_XML_VALUE,
    consumes = MediaType.APPLICATION_XML_VALUE

如:produces和consumes的值等于接口类型(application/xml)
produces会将请求头的Content-Type或者Accept配置进行匹配,匹配不通过会返回错误415或者406
consumes默认会把配置的内容写到响应头的Content-Type中去

个人理解就是produces代表入参的时请求头中要带上Content-Type等于其配置值(application/xml)的一个声明,如果不声明会直接返回416或405,consumes是将响应标识成配置值(application/xml)
  1. 接口方法增加@ResponseBody
  2. 在接口入参处增加@RequestBody自动映射接收入参,
@RequestBody自动将请求流中的数据映射成string字符串文本类型,可用dm4j进行解析等

完整xml接口示例

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/user")
public class LoginUserController {
    
    @PostMapping(value = "/testxml",produces = MediaType.APPLICATION_XML_VALUE,
    consumes = MediaType.APPLICATION_XML_VALUE)
    @ResponseBody
    public String getxml(@RequestBody String xmlparam){
        return xmlparam;
    }
}

注意:如果有在微服务中开发xml接口,一直报错不支持或者本地测试可行,通过网关会报错,检查代码,其次将网关重启,注册中心中将服务删除(或重启,清除注册中心data数据)

在servicecomb微服务方案中巨坑!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值