0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何做一个api接口?

OBEason 来源:jf_88563726 作者:jf_88563726 2023-05-26 11:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

程序员是公司里的技术岗位,是产品经理最亲密的伙伴。但是程序员可以理解产品经理的工作,产品经理却不一定理解程序员的工作,所以经常被无良程序员欺骗。从API接口这个维度,分析API的概念以及为什么要了解它,避免PM们在实际工作中对代码技术一无所知。

在日常工作中,产品经理负责推动项目进展。当他们与程序员对接时,问完成这个功能需要多少天,程序员给出了五天的回答。虽然你的预期时间只有三天,但是你除了相信他,按照承诺给他五天时间之外,也无能为力,最终导致项目的拖延。

你不知道这个函数有多少代码,程序员的工作量有多大。他利用你的无知故意拖延你的项目进度,你是最后一个背黑锅的。

程序员是公司里的终极技术岗位。他能理解我们的工作,但我们很难理解他们。为了防止PM在实际工作中受到无良程序员的伤害,本文从API接口这个维度分析了API的概念以及为什么要理解它,从而避免PM在实际工作中对代码技术的无知。

一、API的概念

API,官方定义为应用编程接口。它指的是一些预定义的接口,用来提供应用程序和开发人员基于某种软件或硬件可以访问的一组例程,而不必访问源代码或了解内部工作机制的细节。

二、为什么要理解API文档?

既然API这么复杂,不属于PM的工作范围,为什么还需要我们费尽心思去理解呢?我们的目的是什么。

1.定义所需的接口服务。

API有很多种,最基础的就是产品最需要的,比如短信API、地图API、语音API等。如果我们的产品涉及到这个功能,就必须了解这个API,这样才能在需求设计阶段考虑的更全面。

2.掌握项目开发的工作量,合理安排计划。

说白了就是防止被程序员骗。当你走过去的时候,你发现程序员正在勤奋地工作。不好意思,人家是外包,就是欺负你看不懂代码。你生气了吗?但是,如果你知道接口的难度和工作量,并且明确他需要多长时间才能交给你,项目就不会被耽误,也更有利于项目进程的进度。

3.联合调试测试,识别项目风险点。

一些关键接口,那些数据量大,需要大数据压力测量的接口,必须通过连接测试,测量其更大流量,优化或设置限制,防止系统崩溃。

4.促进项目对接

如果PM懂一点技术,就不会开明显做不到的玩笑,但还是要程序员来做。从这个角度来说,也更有利于团队沟通,更有利于PM和程序员之间的和谐,避免矛盾,不至于打翻友谊之舟。了解API可以让PM对技术有更深刻的理解,更好的衡量开发工作量,制定功能内容。

三。举例说明API的重要性

优点:

开发者A开发了软件A,而开发者B正在开发软件B,A想利用B的一些成果或功能来辅助开发软件B,但不想完全输入软件A。我该怎么办?于是A把软件打包成一个函数,放在B的软件里。这个函数就是API。

如果没有API,B必须经历软件A的全过程,这需要花费大量的时间和精力,但如果是接口来访问一些功能,就简单方便了。想用就用,想拔就拔。

有一杯密封的果汁叫数据库;果汁上面有一根吸管,叫API。想喝杯子里的果汁,因为是密封的,只能靠吸管插入,不然就喝不到果汁了。

在这个故事里,你属于某个系统。要想获得果汁,必须通过一根吸管来实现,也就是一个接口,API,而这个API是数据库中唯一的API。这样,API就是一个提升项目功能和产品价值的辅助工具。

缺点:

由于API依赖于第三方软件,访问方在使用其他软件包的功能的同时,为自己插入了一个监视器,存在惠友友资源网数据泄露给第三方的危险。所以如果是公司的核心功能,更好使用内部API。

四。总结:万物皆有联系。

可能大家看了美国科幻大片,把程序员想象成了高智商的黑客。但现实是,大多数情况下,他们只负责修复bug,真正的源代码只是在网上复制粘贴而已。所以不要被他的外表所迷惑,PM的应该知道他的优优资源网的工作量,只需要在团队中给出明确的指令来管理项目的进度,大致了解程序员的工作内容,这样你就可以管理对接了。

最后,我想说,在产品行业,一切都是相通的,PM不必质疑自己的工作,也不必自卑。如果程序员是科学家,那么PM就是一个有友资源网的哲学家,只负责改造自然环境和人类社会的差异。其思维逻辑类似,程序员其实就是PM知识的技术流。

五、API的实际应用

请求示例:前往测试

Curl

PHP

PHPsdk

JAVA

C#

Python

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.Reader;

import java.net.URL;

import java.nio.charset.Charset;

import org.json.JSONException;

import org.json.JSONObject;

import java.io.PrintWriter;

import java.net.URLConnection;

public class Example {

private static String readAll(Reader rd) throws IOException {

StringBuilder sb = new StringBuilder();

int cp;

while ((cp = rd.read()) != -1) {

sb.append((char) cp);

}

return sb.toString();

}

public static JSONObject postRequestFromUrl(String url, String body) throws IOException, JSONException {

URL realUrl = new URL(url);

URLConnection conn = realUrl.openConnection();

conn.setDoOutput(true);

conn.setDoInput(true);

PrintWriter out = new PrintWriter(conn.getOutputStream());

out.print(body);

out.flush();

InputStream instream = conn.getInputStream();

try {

BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));

String jsonText = readAll(rd);

JSONObject json = new JSONObject(jsonText);

return json;

} finally {

instream.close();

}

}

public static JSONObject getRequestFromUrl(String url) throws IOException, JSONException {

URL realUrl = new URL(url);

URLConnection conn = realUrl.openConnection();

InputStream instream = conn.getInputStream();

try {

BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));

String jsonText = readAll(rd);

JSONObject json = new JSONObject(jsonText);

return json;

} finally {

instream.close();

}

}

public static void main(String[] args) throws IOException, JSONException {

// 请求示例 url 默认请求参数已经URL编码处理

String url = "https://api-gw.onebound.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1";

JSONObject json = getRequestFromUrl(url);

System.out.println(json.toString());

}

}


审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    9444

    浏览量

    156139
  • API
    API
    +关注

    关注

    2

    文章

    2147

    浏览量

    66231
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    爱回收平台价格查询API接口详解

    ​ 在爱回收平台上,用户经常需要根据品牌ID和项目ID查询相关商品或服务的价格。为此,平台提供了简洁高效的API接口,帮助开发者或第三方应用实现自动化价格查询。本文将详细介绍这个
    的头像 发表于 11-19 14:57 209次阅读
    爱回收平台价格查询<b class='flag-5'>API</b><b class='flag-5'>接口</b>详解

    小红书获取笔记正文和点赞数的API接口

    ​  小红书(RED)是流行的社交平台,用户分享笔记(类似博客文章)。开发者和数据分析师常需要通过API接口获取笔记正文和点赞数,用于内容分析或应用开发。本文将详细介绍如何实现这
    的头像 发表于 11-18 16:27 594次阅读
    小红书获取笔记正文和点赞数的<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    亚马逊获取商品详情API接口指南

    ​  在电商开发中,获取商品详情是核心需求之。亚马逊提供了套强大的API接口,允许开发者高效提取商品信息,如标题、价格、描述和库存状态。本文将逐步介绍如何通过Amazon Prod
    的头像 发表于 11-05 14:45 197次阅读
    亚马逊获取商品详情<b class='flag-5'>API</b><b class='flag-5'>接口</b>指南

    教你如何使用API接口获取数据!

    、了解API API(Application Programming Interface)即应用程序编程接口,是种使不同的应用程序能共享
    的头像 发表于 11-03 09:14 332次阅读

    淘宝天猫上货API接口技术指南

    。 1. 什么是淘宝天猫上货API接口? 淘宝天猫上货API接口是平台提供的RESTful服务,允许商家通过程序化方式上传商品信息到店铺。它基于HTTP协议,支持商品创建、编辑和发布等
    的头像 发表于 10-21 15:22 197次阅读
    淘宝天猫上货<b class='flag-5'>API</b><b class='flag-5'>接口</b>技术指南

    RESTful API设计原则: 构建易用、可扩展的API接口

    (Representational State Transfer)架构原则,构建易用、可扩展的API接口,帮助开发者创建经得起时间考验的服务。 、理解REST架构的核心约束 1.1 RESTful
    的头像 发表于 10-20 13:45 333次阅读

    什么是 API接口

    API接口的工作原理理解 API接口最简单的方式,是从“请求-响应”模型入手: 1.客户端发起请求:比如在电商网站点击“使用支付宝付款”
    的头像 发表于 10-08 08:57 745次阅读

    揭秘淘宝详情 API 接口:解锁电商数据应用新玩法

    在电商的浩瀚宇宙中,淘宝无疑是颗璀璨的巨星。对于开发者、电商从业者来说,获取淘宝商品的详细信息是项常见且重要的需求。而淘宝详情 API 接口,就像是
    的头像 发表于 09-29 14:30 298次阅读

    产品评论获取API接口

      在当今电商和数据分析领域,产品评论是宝贵的用户反馈来源。手动收集评论耗时且易出错,而通过API接口自动化获取评论,能显著提升效率。本文将逐步介绍如何利用API接口高效获取产品评论,
    的头像 发表于 07-25 14:26 323次阅读
    产品评论获取<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    产品分类管理API接口

    的管理系统。文章结构清晰,从基础概念到实际代码示例,确保内容真实可靠。 1. 什么是产品分类管理API接口? 产品分类管理API接口组标
    的头像 发表于 07-25 14:20 312次阅读
    产品分类管理<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    产品下架与删除API接口

    ​ 在现代电子商务和产品管理系统中,API接口是实现高效操作的核心工具。产品下架与删除API接口允许管理员或系统通过编程方式管理产品状态,确保数据
    的头像 发表于 07-25 14:15 341次阅读
    产品下架与删除<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    产品添加与上架API接口设计指南

    ​ 在现代电商或库存管理系统中,产品添加与上架是关键流程。通过API接口实现自动化操作,能显著提升效率。本文将分步解析如何设计和使用“产品添加”与“产品上架”API接口,确保结构清晰、
    的头像 发表于 07-24 14:45 438次阅读
    产品添加与上架<b class='flag-5'>API</b><b class='flag-5'>接口</b>设计指南

    产品详情查询API接口

      在现代电子商务和软件开发中,产品详情查询API接口扮演着至关重要的角色。它允许开发者通过编程方式从远程服务器获取产品的详细信息,如名称、价格、描述和库存状态等。这种接口通常基于RESTful架构
    的头像 发表于 07-24 14:39 382次阅读
    产品详情查询<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    产品搜索与过滤API接口

    这些功能。本文将详细介绍其原理、设计实现和实际应用,帮助您逐步构建可靠的API系统。 1. 什么是产品搜索与过滤API接口 产品搜索与过滤API接口
    的头像 发表于 07-24 14:35 358次阅读
    产品搜索与过滤<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    产品列表获取API接口详解

    以及最佳实践。内容基于通用API设计原则,确保真实可靠。 1. 什么是产品列表获取API接口? 产品列表获取API接口
    的头像 发表于 07-24 14:29 467次阅读
    产品列表获取<b class='flag-5'>API</b><b class='flag-5'>接口</b>详解