我想在免费api接口服务器搭建上放一个接口 我手机访问接口 给我返回JSON 然后我还能对接口进行管理 ;

注册 | 登录
一个记录我所看所想所做的「笔记本」
从零开始学运营,10年经验运营总监亲授,2天线下集训+1年在线学习,做个有竞争力的运营人。
做产品助理之后接的第一个产品就与“API接口”有关。刚做的时候,稀里糊涂,后来各种喷过后,才慢慢理解了“接口”这个东西。都说产品只需要“了解”技术就可以,不需要自己会写。所以不知羞耻的我对这东西也只知表皮啦。做到懂得基本原理,会看,会用,就好了。
如果你和我一样是个技术盲,那么我们要先来扫盲一下了。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
恩。有点复杂
简单的说,开放接口是一个抽象的概念,直接听名字就知道他是为了连接而开放的入口,以让别人的程序能够调用你的程序数据。就像你的电脑、手机有一些USB接口,也可以说是开放了接口,有了这些接口别人就可以用他来做插U盘或充电等功能。只是说API不是硬件接口,而是程序软件接口罢了。
这里给大家举个例子,蓄水池与水泵。
如果把提供接口的一方,比作蓄水池,那么池子里装的就是一些封装好的数据啊函数之类之类。这时候如果蓄水池想把他的水,分享给其他人,他就需要在自己身上造个出水口,这个出水口就是所谓的接口。
这时候水泵出场了,水泵很需要这些水,他找来了一个水管用来把水抽出来,这时候水泵发送一个指令,蓄水池就会放出一点水。同样,今天你想要水,明天你想要果汁,都需要通过指令来命令蓄水池。这样的一去一回,就完成了一次对接口的交互。
可能说的不是很严谨,但是你能懂个大概意思就可以了。
大概的原理我们懂了。那如果拿到一个接口文档我们该如何来阅读呢?
一个比较专业的文档都会写上各种补充说明辅助你理解,比如接口使用的协议、格式、接口应答返回的数据格式等等。
拿一个手头的接口文档给大家看看,比较正规的文档格式:
小白大呼看不懂这些奇怪的文字,那么下面就教你如何看懂这些参数。
一般接口包含以下几个内容:
顾名思义就是接口的地址,以网址的形式展现,你通过发送请求给这个网址来对接口进行交互操作。
请求指令可以用很多种语言来写,一般有curl、php、python、java等等,而与我们合作的接口方提供的就是curl的方式。
如下图,就是典型的curl的GET请求形式。
很多产品都会听到技术说这个用POST传输,那个用GET传输,那么什么是POST和GET呢?
我们通常说的http传输形式最基本的方法有4种,分别是GET,POST,PUT,DELETE。我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。
GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。不过对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE。
所以一般我们只会看到GET和POST两种。两者的区别在于get多用于查询,而POST多余用对资源进行修改的操作。比如一般的天气查询,账号金额查询都以GET形式传输,比如登陆信息的传输就会用到POST。
更直观的去区别两者的话,GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,如:xxxx.ha?userid=PMnote&userpws=123456&version=6.0。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。而POST把提交的数据则放置在是HTTP包的包体中。
即传输参数的时候要带的一些参数,一般文档中会用表格的形式清晰的说明。当我向接口发送携带请求参数的请求时,都要携带什么字段,规则是什么。如下图:
返回内容一般会以json或是XML的形式返回。
上图就是以XML的形式返回的。
像上面贴出来的这种接口,还是比较好阅读的。如果我们发送userid和userpws,就是用户名和密码给接口,接口就返回给我们err_msg为空,则说明正确,retconde也返回1说明也成功了。
如果错误则retcond返回空,如果出现其他错误就可以查询具体的错误代码提示内容了。ret_leftcredit则返回了的数字,这就是这个账户中的余额啦。
所以可以看出该接口主要是为了查询余额而用,使用了GET方式,传过去用户名和密码,返回正确或错误,如果正确则显示余额,错误显示错误信息。
是不是很容易理解啦。
最后是错误代码,一般都会附在接口文档的最后,如果在测试或是上线后,可以根据返回接口查看问题。也可以在设计产品时将错误的状态显示在前端。
知道了接口的原理,看到了接口的各种参数和规则。
接下来就到了实战了。
接口是如何应用在产品设计当中的呢?
请先记住:接口决定功能,接口决定功能,接口决定功能。
重要的事情要说三遍。
笔者在第一次碰接口的时候就傻傻的去照抄了其他网站的一些功能和验证方法,没有做好最初与接口方和技术的沟通工作,结果在评审的时候就被喷的体无完肤了。
“你确定接口有这个功能吗?”
“这个接口是实现不了这个功能的。”
所以在产品设计之初就要先透彻了解手中的接口文档中的接口是否具有你想要的功能。
下面以一个加油卡充值来举个实战案例。这是我最初所负责的加油卡虚拟充值服务。
应用平台是在终端机上,它与PC和手机不同是具有一下几个特征:
屏幕大,相应的按钮与文字都比其他平台要大,触屏的敏感度不如手机,操作的精准度不如PC,所以要做到尽量少的输入。
不能输入汉字。
根据用户使用终端设计的场景,核心用户为中老年人,会在相对固定的场所,以站立的方式在屏幕前操作,会有工作人员协助操作,可能会遇到后方排队的现象,所以操作尽量直观简化,防止用户出现焦虑等情绪。
带着这些特点与场景,那么进行一次产品设计吧。
首先根据业务部门提出来的需求,我们只做中石化的充值卡,并且是以固定面额进行充值,这是一个大前提。之后就去了解了一下,目前PC或手机上加油卡充值的大概操作流程。
这是中石化网上营业厅的一个截图
具体的操作流程
输入卡号——确认卡号——选择金额(输入金额)——输入手机号——接受验证码——确认并支付——到网点圈存
好像输入的地方有点多,想一想根据终端机的特性,能不能进行简化呢?带着这个问题,再回头来看看接口文档与加油卡相关的接口都有哪些。
经过查看发现,关于加油卡充值接口有两个,一个是充值接口、一个是卡号信息查询接口。
信息查询接口主要功能就是输入19位的卡号后,返回给我们卡主的真实姓名。因为我们都知道中石化的卡办理是需要身份证实名认证的,所以这个功能实际上能够帮助用户确认自己输入的卡号是否正确。
好,我们记下这个功能以及他能解决的问题。
再看加油卡充值接口。因为一些原因这里就不给大家贴图了。不过可以说一下这个接口需要的参数都有哪些,包括,cardid这个参数来决定你是需要任意金额充值,还是固定面值的充值。另外就是卡号,加油卡类型等参数。
不过值得注意的是我发现在接口里有个参数需要输入手机号码与持卡人姓名。他们是否是必填项呢?接口没有写清楚。而且终端机不能输入汉字的规则,如果要输入姓名,这将是一个不能完成的任务了啊,除非接口方更改规则。
似乎产品走到这里,有些地方不太清晰了,那么我们要做什么,当然是沟通喽。
持卡人手机号是否必填?
用来做什么的呢?
中石化会给这个手机号发送充值成功的短信。
好的,谢谢。
那持卡人姓名呢?
这个是辅助信息,不是必填项
这时候顾虑都没有了,接口貌似能够顺利的使用啦。
功能都确定了之后,想想是否能简化原有的步骤呢。记得做产品的时候业务部的同事提议让用户输入两次卡号来确认,因为通常都是这样做的。这时候就能用到那些写PM文章里的一句话,需求需要分析,不能拿过来解决方案就用。
如果输入两次卡号是为了让用户确认自己输入是否有误,那么我们可不可以利用卡号查询接口,来给用户返回姓名来解决这个问题呢?
实际上根本要满足他的需求是,让用户知自己输入的卡号无误。
如此在产品设计上,我就只采用了一次输入卡号的形式,让接口返回我真实姓名就好了,而且让一个人在终端机上输入两次19位卡号,那也是一种折磨。
功能确认,操作流程确认了。因为业务流程沿用了之前公司设定好的流程这里就不再赘述。剩下的工作就是画原型图了,注意,在画原型的时候最好加入input的一些规则限制,调用哪些接口,正确与错误的提示都是什么?有什么异常状态,需不需要做友好提示等等。这些交互说明都对前端开发和技术开发是必须要的。
这样就完成了一次通过调用接口来实现产品功能、设计的一个全过程。
#专栏作家#
辛超,微信公众号:pmnote,人人都是产品经理专栏作家。九樱天下产品经理,关注社区共享经济领域,曾任蓝标集团策划经理,负责运营百万级粉丝微博账号,现转岗产品,擅长产品设计与运营。希望未来自己打造的产品,能让世界变得更好一点点。
本文原创发布于人人都是产品经理,未经许可,不得转载。
赞赏是对原创者的最大认可
赞赏1人打赏
收藏已收藏 | 366赞已赞 | 153
一个记录我所看所想所做的「笔记本」
产品经理群
运营交流群
数据分析群
文案交流群
Axure交流群
关注微信公众号
大家都在问
8个回答13人关注
13个回答11人关注
17个回答18人关注
10个回答10人关注
46个回答69人关注
14个回答22人关注&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
iOS-登录认证/json解析
摘要:用户输入用户名和密码,点击登录。。。我们把用户名和密码(用post方式或者get方式,get方式多用于测试看你需要)传给服务器,服务器进行判断,然后返回一个接口给我们(这里服务器返回的json接口,正确就返回一个正确的接口给我们,错误就返回一个错误的接口给我们)。我们拿到接口去解析,判断是否登录成功做相应的操作。关于json解析,可以网上找找资料先看看,我就只知道[]是数组,{}是字典,iOS有自带的json解析的。以前一直说接口文档,接口什么,可自己从来都是模糊的,比如说一
用户输入用户名和密码,点击登录。。。我们把用户名和密码(用post方式或者get方式,get方式多用于测试看你需要)传给服务器,服务器进行判断,然后返回一个接口给我们(这里服务器返回的json接口,正确就返回一个正确的接口给我们,错误就返回一个错误的接口给我们)。我们拿到接口去解析,判断是否登录成功做相应的操作。
关于json解析,可以网上找找资料先看看,我就只知道[]是数组,{}是字典,iOS有自带的json解析的。
以前一直说接口文档,接口什么,可自己从来都是模糊的,比如说一个类的接口,我就认为是这个类的方法。。可是,我的boss给我的登录接口的文档的时候,我才知道,哦,接口文档原来是这样子的呀。。嘻嘻。。。&
&&&&&&&&&result&:&{&&
&&&&&&&&&&&&&RUrl&:&&&&http://localhost/pad_4078_B7DA_676D3FE52763&,&&
&&&&&&&&&&&&&errMsg&:&&&,&&
&&&&&&&&&&&&&result&:&&OK&,&&
&&&&&&&&&&&&&sid&:&&B67D78_B7DA_676D3FE52763&&&
&&&&&&&&}&&
?&&&jsondata[0][‘result’].result:&&
?&&&OK,登录成功,打开RUrl&&
?&&&FAIL,登录失败,取:errMsg&&
#import&&UIKit/UIKit.h&&&
#import&&ByValueUrl.h&&&
@interface&LogInViewController&:&UIViewController&&UITextFieldDelegate&{&&
&&&&UIActivityIndicatorView&*activityIndicatorV&&
&&&&UITextField&*userNameTF;
&&&&UITextField&*passWordTF;
&&&&NSDictionary&*resultDic2;&&
&&&&UIView&*view1;
@property&(weak,&nonatomic)&IBOutlet&UIButton&*loginB
@property&(strong,nonatomic)&NSString&*homeURL;
-&(IBAction)login:(id)sender&{&&
&&&&[self&initaAtivityIndicatorView];&&
&&&&[activityIndicatorView&startAnimating];
&&&&NSURL&*url&=&[NSURL&URLWithString:[NSString&stringWithFormat:@&http://192.168.9.1/pb/l?user=%@&;pwd=%@&,userNameTF.text,passWordTF.text]];//这里的url输入自己的就可以,这里用的get方式,get方式都是明文,用post方式好一点&&
&&&&NSLog(@&userNameTF:%@-&,userNameTF.text);&&
&&&&NSLog(@&passWordTF:%@-&,passWordTF.text);&&
&&&&NSURLRequest&*request&=&[[NSURLRequest&alloc]initWithURL:url];&&
&&&&NSData&*data&=&[NSURLConnection&sendSynchronousRequest:request&returningResponse:nil&error:nil];&
&&&&NSString&*dataStr&=&[[NSString&alloc]&initWithData:data&encoding:NSUTF8StringEncoding];&&
&&&&NSLog(@&str-%@&,dataStr);&&
&&&&NSError&*&&
&&&&NSMutableArray&*array&=&[NSJSONSerialization&JSONObjectWithData:data&options:NSJSONReadingMutableLeaves&error:&;error];&&
&&&&NSDictionary&*resultDic1&=&[array&objectAtIndex:0];&&
&&&&resultDic2&=&[resultDic1&objectForKey:@&result&];&&
&&&&NSString&*str&=&[resultDic2&objectForKey:@&result&];&&
&&&&NSLog(@&str&-%@&,str);&&
&&&&if&([str&isEqualToString:@&FAIL&]&)&{&&
&&&&&&&&NSLog(@&shibai-%@&,str);&&
&&&&&&&&[NSTimer&scheduledTimerWithTimeInterval:3.0&target:self&selector:@selector(logInFail)&userInfo:nil&repeats:NO];&&
&&&&}else{&&
&&&&&&&&&&
&&&&&&&&self.homeURL&=&[resultDic2&objectForKey:@&RUrl&];&&
&&&&&&&&NSLog(@&url&-&%@&,self.homeURL);&&
&&&&&&&&&&
&&&&&&&&[NSTimer&scheduledTimerWithTimeInterval:3.0&target:self&selector:@selector(logInOK)&userInfo:nil&repeats:NO];&&
&&&&&&&&&&
&&&&&&&&&&
-(void)logInFail&{&&
&&&&[activityIndicatorView&stopAnimating];
&&&&NSString&*msg&=&[resultDic2&objectForKey:@&errMsg&];&&
&&&&UIAlertView&*alert&=&[[UIAlertView&alloc]initWithTitle:@&登录失败&&message:msg&delegate:self&cancelButtonTitle:@&OK&&otherButtonTitles:&nil&nil];&&
&&&&[alert&show];&&
&&&&[view1&removeFromSuperview];&&
-(void)logInOK{ &
跳转到首页就可以了 &
[activityIndicatorView&stopAnimating];
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
为您提供0门槛上云实践机会
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
iOS-登录认证/json解析相关信息,包括
的信息,所有iOS-登录认证/json解析相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International我需要用java写一个接口,把接口提供给别人,让别人传数据给我,希望用到http+json的方式,求大神指点? 三路知识网
我需要用java写一个接口,把接口提供给别人,让别人传数据给我,希望用到http+json的方式,求大神指点?
来源:网络收集 & 发布时间: &
第一次自己写接口,麻烦讲一下思路,谢谢!!!
其实就是一个普通的Java方法,只是调用的地址给开放出来了。例如:地址:localhost/Test/client/getList?name=123
别人可以通过这个地址调用这个方法把值给你localhot可以是本机IP地址,那么局域网内可以通过这个IP地址访问这个方法。把项目放在外网服务器上,那么localhost就换成了外网的地址了。client是自定的前缀,getList是方法路劲,问好开始带参数,name=123是参数名和值,多个参数就在后面加&符号就行了。打这么多字不容易,采纳了吧~!
本文地址:https://www.slzays.com/8815.html
所有问题分类我需要用java写一个接口,把接口提供给别人,让别人传数据给我,希望用到http+json的方式,求大神指点?_百度知道
我需要用java写一个接口,把接口提供给别人,让别人传数据给我,希望用到http+json的方式,求大神指点?
第一次自己写接口,麻烦讲一下思路,谢谢!!!
我有更好的答案
其实就是一个普通的Java方法,只是调用的地址给开放出来了。例如:地址:localhost/Test/client/getList?name=123
别人可以通过这个地址调用这个方法把值给你localhot可以是本机IP地址,那么局域网内可以通过这个IP地址访问这个方法。把项目放在外网服务器上,那么localhost就换成了外网的地址了。client是自定的前缀,getList是方法路劲,问好开始带参数,name=123是参数名和值,多个参数就在后面加&符号就行了。打这么多字不容易,采纳了吧~!
采纳率:49%
为您推荐:
其他类似问题
json的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。使用JSON进行网络数据交换传输 详细_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
使用JSON进行网络数据交换传输 详细
&&SON进行网络数据交换
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩7页未读,
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 java调用服务器接口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信