当前位置: 首页 > news >正文

地方门户网站系统怎样做网站api接口

地方门户网站系统,怎样做网站api接口,八亿免费建站,优化绿松石是什么意思现在有一个实体类对象的集合#xff0c;需要将它们转换为xml文档#xff0c;xml文档就是标签集合的嵌套#xff0c;例如一个学生类#xff0c;有姓名、年龄等#xff0c;需要转换成一下效果#xff1a; studentage14/agename张三/na…现在有一个实体类对象的集合需要将它们转换为xml文档xml文档就是标签集合的嵌套例如一个学生类有姓名、年龄等需要转换成一下效果 studentage14/agename张三/name/studentstudentage15/agename李四/name/studentstudentage16/agename王五/name/student首先定义student的实体类 import lombok.Data; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement;Data XmlRootElement public class Student {private String name;private int age;// 无参构造函数必须有public Student() {}public Student(String name, int age) {this.name name;this.age age;}XmlElementpublic String getName() {return name;}public void setName(String name) {this.name name;}XmlElementpublic int getAge() {return age;}public void setAge(int age) {this.age age;} } 因为是student的集合需要再构建一个StudentListWrapper类 import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import java.util.List;XmlRootElement public class StudentListWrapper {private ListStudent students;public StudentListWrapper() {}public StudentListWrapper(ListStudent students) {this.students students;}XmlElement(name student)public ListStudent getStudents() {return students;}public void setStudents(ListStudent students) {this.students students;} }两种下载方式无返回值的 GetMapping(testXmlDownload)public void testXmlDownload(HttpServletResponse response) throws Exception {try {// 创建一个包含 Student 对象的集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 14));studentList.add(new Student(李四, 15));studentList.add(new Student(王五, 16));// 创建 JAXB 上下文JAXBContext context JAXBContext.newInstance(StudentListWrapper.class);// 创建 MarshallerMarshaller marshaller context.createMarshaller();marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);// 将集合序列化为 XMLStringWriter writer new StringWriter();marshaller.marshal(new StudentListWrapper(studentList), writer);// 输出 XML 格式的文档String xmlDocument writer.toString();byte[] bytes xmlDocument.getBytes();// 使用 ByteArrayInputStream 将字节数组转换为 InputStreamInputStream inputStream new ByteArrayInputStream(bytes);// 使用 BufferedInputStream 包装 InputStreamBufferedInputStream bufferedInputStream new BufferedInputStream(inputStream);byte[] buffer new byte[bufferedInputStream.available()];bufferedInputStream.read(buffer);bufferedInputStream.close();response.reset();response.setCharacterEncoding(UTF-8);response.addHeader(Content-Disposition, attachment;filename URLEncoder.encode(student.concat(.xml), UTF-8));//response.addHeader(Content-Length, file.length());OutputStream outputStream new BufferedOutputStream(response.getOutputStream());response.setContentType(application/octet-stream);outputStream.write(buffer);outputStream.flush();// System.out.println(xmlDocument);} catch (Exception e) {e.printStackTrace();}}第二种使用 ResponseEntity 对象来封装响应内容和响应头并返回给客户端 GetMapping(/download)public ResponseEntitybyte[] downloadFile() throws Exception {// 创建一个包含 Student 对象的集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 14));studentList.add(new Student(李四, 15));studentList.add(new Student(王五, 16));// 创建 JAXB 上下文JAXBContext context JAXBContext.newInstance(StudentListWrapper.class);// 创建 MarshallerMarshaller marshaller context.createMarshaller();marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);// 将集合序列化为 XMLStringWriter writer new StringWriter();marshaller.marshal(new StudentListWrapper(studentList), writer);// 输出 XML 格式的文档String xmlContent writer.toString();// byte[] bytes xmlDocument.getBytes();// 将 XML 内容转换为字节数组byte[] xmlBytes xmlContent.getBytes(StandardCharsets.UTF_8);// 构造响应头HttpHeaders headers new HttpHeaders();headers.setContentType(MediaType.APPLICATION_XML);headers.setContentDispositionFormData(attachment, students.xml);// 构造 ResponseEntity 对象设置响应内容和响应头ResponseEntitybyte[] responseEntity new ResponseEntity(xmlBytes, headers, HttpStatus.OK);return responseEntity;}使用postman测试 复制到浏览器测试 打开效果
http://www.w-s-a.com/news/611853/

相关文章:

  • 北流网站建设制作旅游网站开发目的和目标
  • 网站公司怎么做的网站建设论文二稿
  • 网站建设服务商都有哪些html项目答辩
  • 网站上传到万网主机wordpress视频防盗链
  • 西安建设商城类网站广告设计公司文案
  • 如何建设好高校网站麻辣烫配方教授网站怎么做
  • 宁波网站建设计品牌推广策略分析
  • 网站自建设需要买什么时候开始深圳市建筑市场信息公开平台
  • 平台营销型网站建设小城镇建设的网站文献
  • 燕郊个人做网站小企业网站模板
  • 网站ip需要备案新开河街做网站公司
  • 网站定制设计方案wordpress批量传图片
  • 做外贸兼职的网站设计福州网站开发私人
  • 金华建站模板目前国内有哪些网站做家具回收
  • 个人做网站还是公众号赚钱好部门网站建设和维护
  • 系列图标设计网站推荐建商城网站
  • 中牟建设工程信息网站黑龙江 哈尔滨
  • 网站设计基本结构wap自助建论坛网站
  • 专业番禺网站建设爱做网站外国
  • 深圳罗湖网站设计公司价格制作网站的公司办什么营业执照
  • 长清网站建设价格群辉NAS搭建wordpress
  • 变更股东怎样在工商网站做公示网站建设和网站优化哪个更重要
  • 西安手机网站python网站开发效率
  • 深圳建站的公司羽毛球赛事2022直播
  • j2ee网站开发搜索推广的流程
  • 网站目录结构图虚拟主机如何安装WordPress
  • 信产部网站备案保定软件开发网站制作
  • 东莞网站设计定做东莞网站建设最牛
  • 网站开发的软件天猫的网站导航怎么做的
  • 做链接哪个网站好网站建设平台方案设计