本文目錄一覽:
使用Node.js做 Restful API用什麼框架好
使用Node.js做restful api可以考慮使用express或者koa框架,具體操作如下:
var express = require(‘express’) //加載模塊
var app = express() //實例化之
var map = {“1″:{id:1,name:”test”},”2″:{id:2,name:”test”}} //定義一個集合資源,key為字符串完全是模仿java MAPT,E,否則誰會這麼去寫個hash啊!
app.get(‘/devices’,function(req, res){ //Restful Get方法,查找整個集合資源
res.set({‘Content-Type’:’text/json’,’Encodeing’:’utf8′});
res.send(map)
})
app.get(‘/devices/:id’,function(req, res){ //Restful Get方法,查找一個單一資源
res.set({‘Content-Type’:’text/json’,’Encodeing’:’utf8′});
res.send(map[req.param(‘id’)])
//console.log(req.param(‘id’))
})
app.post(‘/devices/’, express.bodyParser(), function(req, res){ //Restful Post方法,創建一個單一資源
res.set({‘Content-Type’:’text/json’,’Encodeing’:’utf8′});
map[req.body.id] = req.body
res.send({status:”success”,url:”/devices/”+req.body.id}) //id 一般由數據庫產生
})
app.put(‘/devices/:id’, express.bodyParser(), function(req, res){ //Restful Put方法,更新一個單一資源
res.set({‘Content-Type’:’text/json’,’Encodeing’:’utf8′});
map[req.body.id] = req.body
res.send({status:”success”,url:”/devices/”+req.param(‘id’),device:req.body});
})
app.delete(‘/devices/:id’,function(req, res){ //Restful Delete方法,刪除一個單一資源
res.set({‘Content-Type’:’text/json’,’Encodeing’:’utf8′});
delete map[req.param(‘id’)]
res.send({status:”success”,url:”/devices/”+req.param(‘id’)})
console.log(map)
})
app.listen(8888);
JS怎麼調用API接口
需要準備的材料分別是:電腦、html編輯器、瀏覽器。
1、首先,打開html編輯器,新建html文件,例如:index.html,引入jquery使用。
2、在index.html的script標籤中,輸入js代碼:
$.get(‘請求地址’, function(b) {
document.body.innerText = b;
});
3、瀏覽器運行index.html頁面,此時通過F12的開發者工具可知API接口被調用了。
如何利用AngularJS服務接入外部API
第一步:準備工作
將AngularJS腳本添加到該文檔的當中:
在此之後,可以在將這套CCS樣式添加到行內或者獨立的文件當中:
*{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
font-family:sans-serif;
}
body,html{margin:0;}
p{margin:0;}
input{width:100%;}
pre{
white-space:pre-wrap;
white-space:-moz-pre-wrap;
white-space:-pre-wrap;
white-space:-o-pre-wrap;
word-wrap:break-word;
}
div.repo{
border-bottom:1pxsolid;
cursor:pointer;
}
#search,#repo,#user{float:left;}
#search{width:20%;}
#repo{width:60%;}
#user{width:20%;}
如大家所見,其中不存在任何多餘的內容、只保留最基礎的布局方案——將搜索欄置於右側、庫信息位於中央、用戶庫同樣置於右側。我們還需要將對應代碼行打包至標籤當中,此後我們還要利用它顯示README文件內容——因為這些內容通常來自GitHub Flavored Markdown、而且其中一部分代碼行與用戶庫列表存在重疊。
當然,大家可以向其中添加更多樣式以提升成果的視覺效果——但請注意,本教程中的截圖都採取最基本的外觀設計。
大家可以未來需要編寫的JavaScript代碼置於本文檔的當中或者為其建立獨立文件,但獨立文件仍然需要處於AngularJS腳本之下。
第二步:模塊
現在我們可以為自己的應用程序創建一個模塊:
varapp=angular.module(‘githubsearch’,[]);
接下來利用ngApp指令將其添加到標籤當中:
第三步:控制器
我們還需要為自己的應用程序準備一套控制器。為了簡化創建流程,我們將只為應用準備一套控制器,這樣我們就不必考慮如何在不同控制器之間進行信息傳遞了:
app.controller(‘SearchController’,functionSearchController($scope){
});
第四步:基礎服務
我們需要對自己的GitHub服務進行定義:
app.factory(‘GitHub’,functionGitHub($http){
return{
};
});
我們將使用app.factory()方法,這樣就能保證返回對象附帶幾個以後將會用到的方法。我們將使用$http服務從GitHub的API中獲取數據。
第五步:搜索庫
我們服務中的第一項方法負責利用GitHub API對庫進行搜索。使用服務非常簡單(這項函數能夠進入由製造函數返回的對象):
searchRepos:functionsearchRepos(query,callback){
$http.get(”,{params:{q:query}})
.success(function(data){
callback(null,data);
})
.error(function(e){
callback(e);
});
}
$http.get()方法是執行GET請求的一種捷徑。第一條參數是我們希望訪問的URL。第二條參數則代表一個具備選項的對象。這裡我們只需要params對象——它是一個查詢參數散列,將被添加到該請求當中(其中q參數屬於搜索字符串,大家可以點擊此處了解更多相關信息)。
$http.get()會返回一項承諾。我們可以將監聽器附加在success()與error()上,並且據此調用回調函數。
第六步:搜索欄
為了使用我們在之前幾步中定義完成的函數,我們需要在自己的HTML當中添加搜索欄。
雲南北大青鳥設計培訓告訴你全棧編程需要掌握哪些能力?
對於大多數的程序員來說,全棧開發的概念應該不陌生了吧,今天我們就一起來了解一下,成為一個全棧開發程序員我們需要學習的能力有哪些。
基礎
HTML、CSS和JavaScript是必須掌握的,你還需要學習React、Vue或Angular等前端框架或庫。但是,你應該選擇哪一個?對於一個真正的全棧開發者,你可以在2019年選擇這三個框架中的任何一個。
Web組件
瀏覽器採用的Web組件終於離我們想要的標準越來越近了。2019年,我們將看到更多關於Web組件的討論,但它仍然不會在2019年達到臨界點。你可以密切地關注它們,但不需要花費大量時間在掌握如何構建Web組件上。
PWA
漸進式Web應用程序在2019年仍然會很熱門,但它複雜的功能可能不會流行起來(即推送通知)。
大多數情況下,你將使用HTTPS、AppShell和ServiceWorker來獲得一些額外的脫機功能、安全性和性能。你應該學習如何構建PWA,並使用像Lighthouse這樣的工具來測試它。
Safari為PWA添加了一些支持,實現漸進式Web應用程序功能可能會更容易一些。但說到底,你需要先學會使用manifest.json文件和ServiceWorker。谷歌正在這方面努力推進,但不要指望在2019年會看到任何突破。
REST與GraphQL
RESTfulAPI在2019年還會存在,你需要學習如何實現和設計這些API。你應該學會使用Node.js和Express.js來創建API服務器,在2019年,這兩個框架的組合仍然會佔主導地位。
現在出現了很多有關GraphQL的炒作,但它還不是可以贏得所有市場的大贏家。了解GraphQL可以解決哪些問題,以及如何在RESTfulAPI中用它來進行路由優化。大理java課程培訓機構認為這將是2019年重要的趨勢:不是如何單獨使用GraphQL,而是如何在極少數情況下使用GraphQL優化一些RESTfulAPI路由。
HTTP2
HTTP2變得越來越普遍,你需要知道如何使用這個協議來優化內容的傳輸。此外,HTTP3正在開發當中,你可以關注它,但它並不是你在2019年需要過分關注的東西。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/257946.html