Web开放服务接口-实验报告

说明:本文内容来自浙江科技学院软件工程本科专业课程《系统集成与优化》的课堂实验报告。

实验目的(来自实验任务书):了解OpenAPI、Web Service、云函数等开放服务的基本概念,针对具体的开放服务接口及其文档/SDK,能够分析了解该服务的开放类型、使用方式,掌握通过代码将开放服务提供的功能接入融合到自己的项目中的技能。能够通过研究开放服务接口,进行项目功能开发。

实验日期:2021-06-09

文章标签逻辑如下图所示。
在这里插入图片描述

零、基础知识:开放服务简述(TODO)

开放服务开放类型使用方式简述
OpenAPI
Web Service
云函数

一、Open API实验之对象存储

  1. 准备工作
    (1)登录阿里云,进入OSS管理控制台,开通对象存储服务OSS(Object Storage Service)。
    (2)进入存储试用中心。个人用户可免费试用3个月的20GB存储包,点击“立即试用”即可。
    (3)创建Bucket(存储空间),读写权限选择“私有”。
    (4)通过示例工程快速入门Java SDK
    下载OSS Java SDKMaven示例工程aliyun-oss-java-sdk-demo-mvn.zip,解压后导入IDEA
    (5)进入控制台的“安全信息管理”页面,新建AccessKey,获得AccessKeyIdAccessKeySecret
    (6)将示例工程的HelloOSS.java中的accessKeyIdaccessKeySecretbucketName修改为自己的信息。编译运行示例工程。
    在这里插入图片描述
  2. 基于Spring Boot的OSS管理工具
    (1)新建Spring Boot项目,添加Spring Web依赖。
    (2)在pom中添加阿里云和thymleaf(页面)依赖。
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>

(3)新建类OssUtil,封装用到的阿里云OSS SDK功能(复制示例工程的HelloOSS.java的代码,将main方法中的示例代码抽离为方法)
①鉴权数据:endpoint、bucketName、accessKeyId、accessKeySecret。
OssClient对象: OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
③获取文件上传token
④文件上传:ossClient.putObject(String bucketName, String fileKey, File file);
⑤列举文件

ObjectListing objectListing = ossClient.listObjects(bucketName);
List<OSSObjectSummary> objectSummary = objectListing.getObjectSummaries();

⑥删除文件:ossClient.deleteObject(bucketName, fileKey);
(4)配置项目的application.properties:①thymleafServlet文件上传
(5)在resources/templates下新建两个文件upload.htmllist.html
(6)新建controller包,添加OssController类,添加请求处理方法。
(7)编译运行,用浏览器测试。
①查看照片列表。
在这里插入图片描述
②删除其中的一张照片。
在这里插入图片描述
③上传一张照片。
在这里插入图片描述
在这里插入图片描述
登录阿里云OSS控制台,可下载上传的照片。
在这里插入图片描述

二、Web Service实验

  1. 选择要使用的Web Service,阅读说明,了解输入输出,进行在线测试。
  2. 下载WSDL
    在选定的Web Service的说明页面的路径(通常以.asmx结尾)后加上?wsdl(如http://www.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl),用浏览器访问。得到的页面应是一个XML文档。按F12打开开发人员工具,切换到“网络”选项卡,刷新页面。在请求的资源列表中单击文档类型的资源,在“响应”选项卡中查看其内容。右键单击资源>另存为…,将文档保存为air.wsdl
    在这里插入图片描述
  3. 搭建Spring Boot项目
    新建空白Spring Boot项目,添加Web Service客户端、fastjson、dom4j、commons-lang依赖。
  4. 开发测试Web服务
    (1)将air.wsdl复制到resources目录下。打开文件,删除带有<s:element ref="s:schema" />的行(共3行)。
    (2)通过jax客户端调用Web服务,分析返回结果的结构。
    如下图所示,返回结果以 [{"any":" 开始,以 "}] 结束。两者之间是一个XML文档。XML根元素的子元素是<diffgr:diffgram…/>元素,它的xmlns属性值为http://WebXml.com.cn<diffgr:diffgram…/>的子元素是<Airlines.../>元素,它的xmlns属性值为空。<Airlines.../>有多个<AirlinesTime.../>子元素,每个子元素对应一条航线信息。

在这里插入图片描述
(3)提取结果XML,通过dom4j解析
在这里插入图片描述
5. 将Web服务的数据封装成自己的API接口
(1)添加controller包,新建AirController类。添加dto包,新建AirDto类。
(2)AirController中增加方法List<AirDto> airSearch(String from,String to,String date),将查询封装成Web接口。
(3)编译运行应用,浏览器访问以下网址进行测试:http://localhost:8080/airSearch?from=杭州&to=乌鲁木齐&date=2021-06-17
在这里插入图片描述

三、实验心得体会

  1. 对象是OSS存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。
  2. AccessKey IDAccessKey Secret是用户访问阿里云API的密钥,具有该账户完全的权限。通常建议使用RAM子用户AccessKey
  3. 阿里云OSS客户端有两种配置方式:第一种是只配置主账号或者子账号的access key id, access key secret;第二种是配置access key id, access key secret和token三个值,这三个值都是服务端通过oss_media_get_token或者oss_media_get_token_from_policy获取的临时AccessKey和token,该AccessKey和token有时间期限,超过有效期后,不能再次使用。
  4. .asmx 文件和.aspx文件都是文本文件。它包含在前者包含在之中,是ASP.NET应用程序的一部分。
  5. WSDL描述了服务的访问方式、需要返回的相应的类型。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值