API开发实践(一) 结构设计

参加了2017年的阿里云API创新大赛,自己一个人参加的第一赛段,把开发过程中的学到的知识总结一下。

我设计的API功能:用户输入自己货物的订单编号及公司编号,返回物流信息地图。

实现方法:调用两个API,一个是快递鸟快递查询API,一个是高德地图地图查询API,利用servlet处理上传的数据并返回一个HTML显示地图。

开发模式:JavaBean+servlst+html

开发工具:阿里云服务器、Tomcat、MyEclipse、org.json.jar

功能模块:

接受url请求

调用快递鸟API进行查询

生成可显示地图的String型HTML并返回

文件夹及组织结构

servlet包:

getMap类--->接受客户端的url请求,处理并返回信息。

util包:

errorManage--->错误处理类,一个用来保存错误信息的类(实际上当做一种结构体来用)。

getHtml--->根据服务器处理的信息生成html格式的String。

kdniaoTrackQueryAPI--->物流查询类,包含快递鸟API查询请求的方法。

时间: 2024-11-25 08:17:28

API开发实践(一) 结构设计的相关文章

API开发实践(三) 查询物流路径

查询物流可以使用现成的API,本文使用的快递鸟查询. 查询方法主要在两个类:errorManage.kdniaoTrackQueryAPI中 各种快递查询Api接口(快递鸟) 调用API一定要仔细阅读文档,了解编码格式.请求方式.参数设置等信息. 上代码之前先说一下数据结构: 我们想要的物流路径可由一系列地址组成,但在实际操作中还存在查询失败及没有物流信息的情况,所以还要返回一个查询状态信息. 所以选择一个能储存所需信息的最简单结构,用List结构传递即可. 规定List第一位存储Int型转状态

API开发实践(四) 返回HTML

分为两个部分:生成HTML和返回HTML 生成HTML: 最终想要的时显示地图,不可避免的使用高德地图的API. [地图API]地址录入时如何获得准确的经纬度?淘宝收货地址详解 改变几个参数即可达到目的,很简单不讲了. 重点说说如何生成查询结果对应的HTML: 将HTML中的内容保存为String,在String格式的基础上替换关键参数,即可批量生产. 在将HTML保存为String时,因为HTML内容都是带换行缩进的,还带有许多双引号,所以直接粘贴实不可取的. 我用的方法是将内容先保存在文本中

API开发实践(二) 接受url请求

先简单理解GET请求与POST请求的区别 HTTP请求中POST与GET的区别 在浏览器地址栏输入 http://服务器地址:服务器端口/文件路径 即可访问目的文件或服务 如果带有参数就以 ?参数名=参数值[&参数名=参数值].* 的形式添加到请求中,再在服务器中用request.getParameter()方法取出. 代码:url:  http://localhost:8080/APITest/getMap.java?shipperCode="*"&logisticC

浅谈php对api开发的作用

1 最近正在做一个手机APP的服务端API开发,虽然是基于Ruby on Rails的,做的也不太专业,不过大致相通,希望能够给你一些启发. 2 3 首先,如果是比较简单的手机APP,例如新闻客户端这样的不会涉及到长连接的服务,那么可以考虑直接使用http协议.因为该协议几乎被所有可以上网的设备支持,手机客户端那边也有大量相关的库可以调用,省掉不少麻烦. 4 5 这么说来其实用php基本也就等于用http协议了吧= =,php对其他协议的支持还真不怎么样. 6 7 确定完这个之后,就需要统一一下

【核心API开发】Spark入门教程[3]

本教程源于2016年3月出版书籍<Spark原理.机制及应用> ,在此以知识共享为初衷公开部分内容,如有兴趣,请支持正版书籍. Spark综合了前人分布式数据处理架构和语言的优缺点,使用简洁.一致的函数式语言Scala作为主要开发语言,同时为了方便更多语言背景的人使用,还支持Java.Python和R语言.Spark因为其弹性分布式数据集(RDD)的抽象数据结构设计,通过实现抽象类RDD可以产生面对不同应用场景的子类.本章将先介绍Spark编程模型.RDD的相关概念.常用API源码及应用案例,

构建你的长寿命的API第1部分:规范驱动的API开发

构建你的长寿命的API第1部分:规范驱动的API开发 这篇文章是由MuleSoft的Mike Stowe在nginx.conf 2016公布的演示文稿改编的.第一部分重点是规范驱动的API开发. 第二部分讨论的最佳实践.你能够查看完整的呈现的记录的v=G8p4g3yYLBw">YouTube.详细信息例如以下: 0:00 介绍 1:52 API正在改变世界 2:32 API正在连接一切 3:36 API应该是持久的 4:01 构建一个持久的API的5个步骤 4:38 从长计议 6:03 你

【新书推荐】《微软开源跨平台移动开发实践》带你走近微软开源开源跨平台技术

上周收到本书作者李争送的一本12月份的新书<微软开源跨平台移动开发实践——利用ASP.NET Core 1.0 .Apache Cordova.Xamarin和Azure快速构建移动应用解决方案>.这本书的名字超长.这本书也是超薄,只有220页,一个周末时间就读完了,但是这本书的内容确是超丰富,浓缩了微软这三年向开源和跨平台领域的转变,微软在开源和跨平台领域构建出来的一套技术体系.从服务端的NET Core.ASP.NET 和 Web APi ,到Web端的 Typescript脚本语言,再到

基于七牛API开发的前端JavaScript SDK

这是我们工程实践的内容,由于时间原因,具体不赘述,啊~主要还是因为懒o(╯□╰)o工程实践的题目为openedx后端管理系统的功能拓展与优化,我们要优化的一个主要功能便是实现视频本地化上传,我们采用的视频云服务商为七牛云存储,以下链接是基于它的API开发的前端JavaScript SDK,http://developer.qiniu.com/docs/v6/sdk/javascript-sdk.html我的任务是看完,找到需要改的参数,刚刚大概看了一下,很多东西不是很明白,先把我觉得需要改的参数

Android开发实践:WIFI连接功能的封装

在上一篇文章<Android开发实践:WIFI扫描功能的封装>介绍了如何利用Andriod的API实现WIFI的扫描,本文则重点讲述一下如何连接WIFI吧,在此,也给出一个封装WIFI连接过程的类,提供简单的接口以供在各个代码工程中复用. 与WIFI扫描类似,WIFI的连接同样是一个耗时的过程,所以需要放到线程中执行,通过回调来通知调用者连接结果.该回调接口的定义如下: public interface WifiConnectListener { public void OnWifiConne