收藏 分享(赏)

eoLinker-API_Shop_常见疾病查询_API接口_Java调用示例代码.docx

上传人:dzzj200808 文档编号:3057234 上传时间:2018-10-02 格式:DOCX 页数:22 大小:14.33KB
下载 相关 举报
eoLinker-API_Shop_常见疾病查询_API接口_Java调用示例代码.docx_第1页
第1页 / 共22页
eoLinker-API_Shop_常见疾病查询_API接口_Java调用示例代码.docx_第2页
第2页 / 共22页
eoLinker-API_Shop_常见疾病查询_API接口_Java调用示例代码.docx_第3页
第3页 / 共22页
eoLinker-API_Shop_常见疾病查询_API接口_Java调用示例代码.docx_第4页
第4页 / 共22页
eoLinker-API_Shop_常见疾病查询_API接口_Java调用示例代码.docx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、eoLinker-API Shop 常见疾病查询 Java调 用示例代码常见疾病查询提供所患疾病的病因、症状、检查、用药、治疗、并发症等方面的详细分析资料该产品拥有以下APIs :1. 获取疾病部位列表2. 通过部位获取疾病列表3. 关键字获取疾病列表4. 获取疾病列表5. 查询疾病信息6. 通过症状获取疾病列表注意,该示例代码仅适用于 网站下API 使用该产品前,您需要通过 https:/ 申请API 服务1.获 取疾病部位列表package net.apishop.www.controller;import java.io.DataOutputStream;import java.io.

2、IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .MalformedURLException;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import com.alibaba.fastjson.JSONObject;/* httpUrlConnection访问远程接口工具*/public class Ap

3、i/* 方法体说明:向远 程接口发起请求,返回字节 流类型结果* param url 接口地址* param requestMethod 请求方式* param params 传递参数 重点:参数值 需要用Base64进行转码* return InputStream 返回结果*/public static InputStream httpRequestToStream(String url, String requestMethod, Map params)InputStream is = null;tryString parameters = “;boolean hasParams = fa

4、lse;/ 将参数集合拼接成特定格式,如name=zhangsanparameters += key + “=“ + value + “hasParams = true;if (hasParams)parameters = parameters.substring(0, parameters.length() - 1);/ 请求方式是否为getboolean isGet = “get“.equalsIgnoreCase(requestMethod);/ 请求方式是否为postboolean isPost = “post“.equalsIgnoreCase(requestMethod);if (

5、isGet)url += “?“ + parameters;URL u = new URL(url);HttpURLConnection conn = (HttpURLConnection) u.openConnection();/ 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Content-Type为“”空)conn.setRequestProperty(“Content-Type“, “application/octet-stream“);/ conn.setRequestProperty(“Content-Type“, “application/x-www-form-

6、urlencoded“);/ 设置连接超时时间conn.setConnectTimeout(50000);/ 设置读取返回内容超时时间conn.setReadTimeout(50000);/ 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认falseif (isPost)conn.setDoOutput(true);/ 设置从HttpURLConnection对象读入,默认为trueconn.setDoInput(true);/ 设置是否使用缓存,post方式不能使用缓存if (isPost)conn.setUseC

7、aches(false);/ 设置请求方式,默认为GETconn.setRequestMethod(requestMethod);/ post方式需要将传递的参数输出到conn对象中if (isPost)DataOutputStream dos = new DataOutputStream(conn.getOutputStream();dos.writeBytes(parameters);dos.flush();dos.close();/ 从HttpURLConnection对象中读取响应的消息/ 执行该语句时才正式发起请求is = conn.getInputStream();catch(Un

8、supportedEncodingException e)e.printStackTrace();catch(MalformedURLException e)e.printStackTrace();catch(IOException e)e.printStackTrace();return is;public static void main(String args)String url = “https:/ requestMethod = “POST“;Map params = new HashMap(); params.put(“apiKey“,“your_api_key“); /需要从

9、获取 String result = null;tryInputStream is = httpRequestToStream(url, requestMethod, params);byte b = new byteis.available();is.read(b);result = new String(b);catch(IOException e)e.printStackTrace();if (result != null)JSONObject jsonObject = JSONObject.parseObject(result);String status_code = jsonObj

10、ect.getString(“statusCode“);if (status_code = “000000“)/ 状态码为000000, 说明请求成功System.out.println(“请求成功:“ + jsonObject.getString(“result“);else/ 状态码非000000, 说明请求失败System.out.println(“请求失败:“ + jsonObject.getString(“desc“);else/ 返回内容异常,发送请求失败,以下可根据 业务逻辑自行修改System.out.println(“发送请求失败“);2.通 过 部位获取疾病列表packag

11、e net.apishop.www.controller;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .MalformedURLException;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import c

12、om.alibaba.fastjson.JSONObject;/* httpUrlConnection访问远程接口工具*/public class Api/* 方法体说明:向远 程接口发起请求,返回字节 流类型结果* param url 接口地址* param requestMethod 请求方式* param params 传递参数 重点:参数值 需要用Base64进行转码* return InputStream 返回结果*/public static InputStream httpRequestToStream(String url, String requestMethod, Map

13、params)InputStream is = null;tryString parameters = “;boolean hasParams = false;/ 将参数集合拼接成特定格式,如name=zhangsanparameters += key + “=“ + value + “hasParams = true;if (hasParams)parameters = parameters.substring(0, parameters.length() - 1);/ 请求方式是否为getboolean isGet = “get“.equalsIgnoreCase(requestMetho

14、d);/ 请求方式是否为postboolean isPost = “post“.equalsIgnoreCase(requestMethod);if (isGet)url += “?“ + parameters;URL u = new URL(url);HttpURLConnection conn = (HttpURLConnection) u.openConnection();/ 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Content-Type为“”空)conn.setRequestProperty(“Content-Type“, “application/octet

15、-stream“);/ conn.setRequestProperty(“Content-Type“, “application/x-www-form-urlencoded“);/ 设置连接超时时间conn.setConnectTimeout(50000);/ 设置读取返回内容超时时间conn.setReadTimeout(50000);/ 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认falseif (isPost)conn.setDoOutput(true);/ 设置从HttpURLConnection对象读入

16、,默认为trueconn.setDoInput(true);/ 设置是否使用缓存,post方式不能使用缓存if (isPost)conn.setUseCaches(false);/ 设置请求方式,默认为GETconn.setRequestMethod(requestMethod);/ post方式需要将传递的参数输出到conn对象中if (isPost)DataOutputStream dos = new DataOutputStream(conn.getOutputStream();dos.writeBytes(parameters);dos.flush();dos.close();/ 从H

17、ttpURLConnection对象中读取响应的消息/ 执行该语句时才正式发起请求is = conn.getInputStream();catch(UnsupportedEncodingException e)e.printStackTrace();catch(MalformedURLException e)e.printStackTrace();catch(IOException e)e.printStackTrace();return is;public static void main(String args)String url = “https:/ requestMethod = “

18、POST“;Map params = new HashMap(); params.put(“apiKey“,“your_api_key“); /需要从 获取 params.put(“page“, “); /当前页码(默认1 ) params.put(“pageSize“, “); /该页疾病数量(默认15) params.put(“site“, “); /发病部位 String result = null;tryInputStream is = httpRequestToStream(url, requestMethod, params);byte b = new byteis.availab

19、le();is.read(b);result = new String(b);catch(IOException e)e.printStackTrace();if (result != null)JSONObject jsonObject = JSONObject.parseObject(result);String status_code = jsonObject.getString(“statusCode“);if (status_code = “000000“)/ 状态码为000000, 说明请求成功System.out.println(“请求成功:“ + jsonObject.getS

20、tring(“result“);else/ 状态码非000000, 说明请求失败System.out.println(“请求失败:“ + jsonObject.getString(“desc“);else/ 返回内容异常,发送请求失败,以下可根据 业务逻辑自行修改System.out.println(“发送请求失败“);3.关 键 字获取疾病列表package net.apishop.www.controller;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;impor

21、t java.io.UnsupportedEncodingException;import .HttpURLConnection;import .MalformedURLException;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import com.alibaba.fastjson.JSONObject;/* httpUrlConnection访问远程接口工具*/public class Api/* 方法体说明:向远 程接口发起请求,返回字节 流类型结果* param url 接

22、口地址* param requestMethod 请求方式* param params 传递参数 重点:参数值 需要用Base64进行转码* return InputStream 返回结果*/public static InputStream httpRequestToStream(String url, String requestMethod, Map params)InputStream is = null;tryString parameters = “;boolean hasParams = false;/ 将参数集合拼接成特定格式,如name=zhangsanparameters

23、+= key + “=“ + value + “hasParams = true;if (hasParams)parameters = parameters.substring(0, parameters.length() - 1);/ 请求方式是否为getboolean isGet = “get“.equalsIgnoreCase(requestMethod);/ 请求方式是否为postboolean isPost = “post“.equalsIgnoreCase(requestMethod);if (isGet)url += “?“ + parameters;URL u = new UR

24、L(url);HttpURLConnection conn = (HttpURLConnection) u.openConnection();/ 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Content-Type为“”空)conn.setRequestProperty(“Content-Type“, “application/octet-stream“);/ conn.setRequestProperty(“Content-Type“, “application/x-www-form-urlencoded“);/ 设置连接超时时间conn.setConnectTimeou

25、t(50000);/ 设置读取返回内容超时时间conn.setReadTimeout(50000);/ 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认falseif (isPost)conn.setDoOutput(true);/ 设置从HttpURLConnection对象读入,默认为trueconn.setDoInput(true);/ 设置是否使用缓存,post方式不能使用缓存if (isPost)conn.setUseCaches(false);/ 设置请求方式,默认为GETconn.setRequestM

26、ethod(requestMethod);/ post方式需要将传递的参数输出到conn对象中if (isPost)DataOutputStream dos = new DataOutputStream(conn.getOutputStream();dos.writeBytes(parameters);dos.flush();dos.close();/ 从HttpURLConnection对象中读取响应的消息/ 执行该语句时才正式发起请求is = conn.getInputStream();catch(UnsupportedEncodingException e)e.printStackTra

27、ce();catch(MalformedURLException e)e.printStackTrace();catch(IOException e)e.printStackTrace();return is;public static void main(String args)String url = “https:/ requestMethod = “POST“;Map params = new HashMap(); params.put(“apiKey“,“your_api_key“); /需要从 获取 params.put(“page“, “); /当前页码(默认1 ) params

28、.put(“pageSize“, “); /该页疾病数量(默认15) params.put(“keyword“, “); /关键字 String result = null;tryInputStream is = httpRequestToStream(url, requestMethod, params);byte b = new byteis.available();is.read(b);result = new String(b);catch(IOException e)e.printStackTrace();if (result != null)JSONObject jsonObjec

29、t = JSONObject.parseObject(result);String status_code = jsonObject.getString(“statusCode“);if (status_code = “000000“)/ 状态码为000000, 说明请求成功System.out.println(“请求成功:“ + jsonObject.getString(“result“);else/ 状态码非000000, 说明请求失败System.out.println(“请求失败:“ + jsonObject.getString(“desc“);else/ 返回内容异常,发送请求失败,

30、以下可根据 业务逻辑自行修改System.out.println(“发送请求失败“);4.获 取疾病列表package net.apishop.www.controller;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .MalformedURLException;import .URL;import .URLEnco

31、der;import java.util.HashMap;import java.util.Map;import com.alibaba.fastjson.JSONObject;/* httpUrlConnection访问远程接口工具*/public class Api/* 方法体说明:向远 程接口发起请求,返回字节 流类型结果* param url 接口地址* param requestMethod 请求方式* param params 传递参数 重点:参数值 需要用Base64进行转码* return InputStream 返回结果*/public static InputStream

32、httpRequestToStream(String url, String requestMethod, Map params)InputStream is = null;tryString parameters = “;boolean hasParams = false;/ 将参数集合拼接成特定格式,如name=zhangsanparameters += key + “=“ + value + “hasParams = true;if (hasParams)parameters = parameters.substring(0, parameters.length() - 1);/ 请求方

33、式是否为getboolean isGet = “get“.equalsIgnoreCase(requestMethod);/ 请求方式是否为postboolean isPost = “post“.equalsIgnoreCase(requestMethod);if (isGet)url += “?“ + parameters;URL u = new URL(url);HttpURLConnection conn = (HttpURLConnection) u.openConnection();/ 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Content-Type为“”空)

34、conn.setRequestProperty(“Content-Type“, “application/octet-stream“);/ conn.setRequestProperty(“Content-Type“, “application/x-www-form-urlencoded“);/ 设置连接超时时间conn.setConnectTimeout(50000);/ 设置读取返回内容超时时间conn.setReadTimeout(50000);/ 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认falseif

35、 (isPost)conn.setDoOutput(true);/ 设置从HttpURLConnection对象读入,默认为trueconn.setDoInput(true);/ 设置是否使用缓存,post方式不能使用缓存if (isPost)conn.setUseCaches(false);/ 设置请求方式,默认为GETconn.setRequestMethod(requestMethod);/ post方式需要将传递的参数输出到conn对象中if (isPost)DataOutputStream dos = new DataOutputStream(conn.getOutputStream

36、();dos.writeBytes(parameters);dos.flush();dos.close();/ 从HttpURLConnection对象中读取响应的消息/ 执行该语句时才正式发起请求is = conn.getInputStream();catch(UnsupportedEncodingException e)e.printStackTrace();catch(MalformedURLException e)e.printStackTrace();catch(IOException e)e.printStackTrace();return is;public static voi

37、d main(String args)String url = “https:/ requestMethod = “POST“;Map params = new HashMap(); params.put(“apiKey“,“your_api_key“); /需要从 获取 params.put(“page“, “); /当前页码(默认1 ) params.put(“pageSize“, “); /该页疾病数量(默认15) String result = null;tryInputStream is = httpRequestToStream(url, requestMethod, params

38、);byte b = new byteis.available();is.read(b);result = new String(b);catch(IOException e)e.printStackTrace();if (result != null)JSONObject jsonObject = JSONObject.parseObject(result);String status_code = jsonObject.getString(“statusCode“);if (status_code = “000000“)/ 状态码为000000, 说明请求成功System.out.prin

39、tln(“请求成功:“ + jsonObject.getString(“result“);else/ 状态码非000000, 说明请求失败System.out.println(“请求失败:“ + jsonObject.getString(“desc“);else/ 返回内容异常,发送请求失败,以下可根据 业务逻辑自行修改System.out.println(“发送请求失败“);5.查询疾病信息package net.apishop.www.controller;import java.io.DataOutputStream;import java.io.IOException;import j

40、ava.io.InputStream;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .MalformedURLException;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import com.alibaba.fastjson.JSONObject;/* httpUrlConnection访问远程接口工具*/public class Api/* 方法体说明:向远 程接口发起请求

41、,返回字节 流类型结果* param url 接口地址* param requestMethod 请求方式* param params 传递参数 重点:参数值 需要用Base64进行转码* return InputStream 返回结果*/public static InputStream httpRequestToStream(String url, String requestMethod, Map params)InputStream is = null;tryString parameters = “;boolean hasParams = false;/ 将参数集合拼接成特定格式,如

42、name=zhangsanparameters += key + “=“ + value + “hasParams = true;if (hasParams)parameters = parameters.substring(0, parameters.length() - 1);/ 请求方式是否为getboolean isGet = “get“.equalsIgnoreCase(requestMethod);/ 请求方式是否为postboolean isPost = “post“.equalsIgnoreCase(requestMethod);if (isGet)url += “?“ + p

43、arameters;URL u = new URL(url);HttpURLConnection conn = (HttpURLConnection) u.openConnection();/ 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Content-Type为“”空)conn.setRequestProperty(“Content-Type“, “application/octet-stream“);/ conn.setRequestProperty(“Content-Type“, “application/x-www-form-urlencoded“);/ 设置连接超

44、时时间conn.setConnectTimeout(50000);/ 设置读取返回内容超时时间conn.setReadTimeout(50000);/ 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认falseif (isPost)conn.setDoOutput(true);/ 设置从HttpURLConnection对象读入,默认为trueconn.setDoInput(true);/ 设置是否使用缓存,post方式不能使用缓存if (isPost)conn.setUseCaches(false);/ 设置请求方

45、式,默认为GETconn.setRequestMethod(requestMethod);/ post方式需要将传递的参数输出到conn对象中if (isPost)DataOutputStream dos = new DataOutputStream(conn.getOutputStream();dos.writeBytes(parameters);dos.flush();dos.close();/ 从HttpURLConnection对象中读取响应的消息/ 执行该语句时才正式发起请求is = conn.getInputStream();catch(UnsupportedEncodingExc

46、eption e)e.printStackTrace();catch(MalformedURLException e)e.printStackTrace();catch(IOException e)e.printStackTrace();return is;public static void main(String args)String url = “https:/ requestMethod = “POST“;Map params = new HashMap(); params.put(“apiKey“,“your_api_key“); /需要从 获取 params.put(“diseaseID“, “); /疾病ID String result = null;tryInputStream is = httpRequestToStream(url, requestMethod, params);byte b = new byteis.available();is.read(b);result = new String(b);catch(IOException

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报