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

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微服务方案中巨坑!!!

经验分享 程序员 微信小程序 职场和发展