zoukankan      html  css  js  c++  java
  • 两种接口传送数据协议(xml和json)

    版权声明:本文为博主原创文章,未经博主同意不得转载。

    https://blog.csdn.net/tianyazaiheruan/article/details/37659983

       规范性接口开发中。一般数据是以json或者xml的格式传送的。而不是字符串的形式直接返回给接口调用者;以下介绍这两种格式的编写方法。

       以下两种数据传送方式是接口输出端的编写。需引入的包例如以下:

    <span style="font-family:KaiTi_GB2312;font-size:18px;">importjava.io.PrintWriter;
    
    importjava.io.StringWriter;
    
    importjavax.servlet.http.HttpServletResponse;
    
    importorg.dom4j.Document;
    
    import org.dom4j.io.OutputFormat;
    
    import org.dom4j.io.XMLWriter;</span>


    1.传送 XML 协议的格式数据

    <span style="font-family:KaiTi_GB2312;font-size:18px;">   /**
    
        * xml 格式数据
    
        *
    
        * @param response
    
        * @param doc
    
        */
    
        publicstaticvoidoutDocToXML(HttpServletResponse response, Document doc) {
    
           // 以下代码请注意编码顺序
    
           response.setCharacterEncoding("utf-8");
    
           response.setContentType("text/xml;charset=utf-8");
    
           response.setHeader("Pragma", "no-cache");
    
           response.setHeader("Cache-Control", "no-cache");
    
           response.setDateHeader("Expires", 0);
    
           PrintWriter out = null;
    
           StringWriter writer = new StringWriter();
    
           OutputFormat format = OutputFormat.createPrettyPrint(); //
    
           format.setEncoding("UTF-8");
    
           XMLWriter xmlwriter = new XMLWriter(writer,format);
    
     
    
           try {
    
                out = response.getWriter();
    
               xmlwriter.write(doc);
    
           } catch (Exception e) {
    
               e.printStackTrace();
    
           }
    
           out.print(writer.toString());
    
           out.close();
    
    }</span>


     

    2.传送 json 协议的格式数据

    <span style="font-family:KaiTi_GB2312;font-size:18px;">/**
    
        * json 数据格式
    
        *
    
        * @param response
    
        * @param data
    
        * @param type
    
        */
    
        protectedvoidsendData(HttpServletResponse response, Object data) {
    
           if (data != null) {
    
               response.setCharacterEncoding("utf-8");
    
               response.setContentType("application/json;charset=UTF-8");
    
               response.setHeader("Pragma", "no-cache");
    
               response.setHeader("Cache-Control", "no-cache");
    
               response.setDateHeader("Expires", 0);
    
               PrintWriter out = null;
    
               try {
    
                    out = response.getWriter();
    
                    out.print(data);
    
                    out.close();
    
               } catch (Exception e) {
    
                    e.printStackTrace();
    
               }
    
           }
    
        }</span>

    转正请指明出处:blog.csdn.net/yangkai_hudong
查看全文
  • 相关阅读:
    FAT学习笔记(五)——FAQ
    FAT32学习笔记(五)——fat相关工具
    FAT学习笔记(四)——Dir Entry
    FAT学习笔记(三)--FSInfo
    zabbix介绍
    配置pxe 自动化安装centos6.7
    跳转方式用name方法的话,浏览器返回按钮点击返回时会有BUG
    FormData使用方法详解
    vue中的@click.native
    vue从后台获取数据,并导出EXCEL文件
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10846102.html
  • Copyright © 2011-2022 走看看