欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

開發(fā)API接口需要哪些知識

傅智翔2年前34瀏覽0評論

開發(fā)API接口需要哪些知識?

個人一直從事Java服務(wù)端開發(fā),如今已經(jīng)是移動端的天下,幾乎每一個C端的項(xiàng)目應(yīng)該都是前后端分離的,或APP native開發(fā),或H5 web開發(fā),小程序、公眾號開發(fā),這些基本都是前后端分離的項(xiàng)目,也就是需要服務(wù)端同學(xué)開發(fā)API即可,不需要關(guān)心前端相關(guān)技術(shù)棧了,也可以說是技術(shù)工種的再一次細(xì)分。

那么作為一個服務(wù)端開發(fā)人員,開發(fā)API接口需要哪些知識呢?個人覺得可以從兩個角度來看:

自己公司產(chǎn)品開發(fā)API

給第三方開發(fā)API,也叫OpenAPI、開放API,很多大公司都有自己的開放平臺

個人認(rèn)為只有開發(fā)好了自己公司的API,才有資格或者有能力開發(fā)好開放API!

那么從開發(fā)自己公司API開式,個人覺得需要以下知識點(diǎn):

響應(yīng)時間要快

“天下武功,唯快不破”,一個好的API接口響應(yīng)時間一定要快,多快算快?沒有最快,只有更快!一般公司會要求所有API響應(yīng)時間不得超過100ms,高并發(fā)API再單獨(dú)要求,例如不得超過40ms,且吞吐量超過3000tps!

返回的數(shù)據(jù)格式要穩(wěn)定

相信做過API開發(fā)的同學(xué)一定有經(jīng)驗(yàn),由于序列化方式的不同,有時候一個字段沒有值的時候可能會返回如下三種情況:

這個字段在返回的json串里沒有了;

這個字段返回的是一個null;

這個字段返回的是一個空字符串。

如果你是前端的話,每個接口規(guī)則都不一樣,你頭大不大?是不是代碼里到處都充斥著

if(id && id != null && id != "")

這樣的判斷代碼?一不小心忘記處理了,然后APP的奔潰率就上來了。

文檔要清晰標(biāo)準(zhǔn)

一個好的API一定要有一個好的文檔,API是靈魂的話,文檔就是肉體以及華麗的外表,每一次對接口的更新都要及時反饋到文檔上去并且及時的告知前端開發(fā)人員。我平時常用的就是把API文檔寫在wiki上,固定好一個API文檔模板,大家都按照這個規(guī)則去寫就好了,這樣前后端聯(lián)調(diào)時候?qū)φ涨逦奈臋n也會省去很多的溝通成本。切不可因?yàn)閼械脤懳臋n,覺得聯(lián)調(diào)時候溝通充分就可以了。你要知道隨著時間的推移,這個API很可能就被你忘了,或者接手的同事也無從下手。所以一定要有一個清晰的文檔!

那么在此基礎(chǔ)上如何開發(fā)一個優(yōu)秀的開放API呢?

個人認(rèn)為這個大家其實(shí)都知道怎么一回事,因?yàn)榧词鼓銢]寫過openAPI,你還沒調(diào)用過openAPI嗎?微信支付、支付寶支付、極光推送、IM、友盟、OCPC、客服等等第三方應(yīng)用都需要咱們調(diào)用他們的API,看過別人怎么玩的,咱自己照抄就好了。還有一點(diǎn)想要說的就是:“把握好自己的需求,千萬不要過度設(shè)計(jì)!”

這里沒有說具體的技術(shù),實(shí)際上把以上工作做好了,關(guān)于技術(shù)這些自然也就好了,細(xì)節(jié)注定成敗,大家認(rèn)為開發(fā)一個好的API最重要的事情是什么?歡迎評論區(qū)留言討論~

我是【java架構(gòu)設(shè)計(jì)】,關(guān)注我,持續(xù)為您提供優(yōu)質(zhì)內(nèi)容!

java升序,開發(fā)API接口需要哪些知識