1.æå¨ï¼ä½¿ç¨å·¥å ·ï¼ï¼ä½¿ç¨ä¸äºå¤é¨ REST 客æ·ç«¯ï¼å¦ Firefox Posterãhttp4e çï¼å¹¶æå¨è°ç¨ REST APIãæ们å¨æ¬æç¨ä¸ä½¿ç¨äº Posterãæ¨å¯ä»¥ä½¿ç¨èªå·±å欢ç REST 客æ·ç«¯ã
2.èªå¨ï¼ä½¿ç¨ç¼ç¨è¯è¨æèæ¬èªå¨è°ç¨ REST APIãæ¬æç¨å°ä»ç»ä½¿ç¨ Java è¿è¡èªå¨æµè¯ãæ¨å¯ä»¥ä½¿ç¨èªå·±å欢çä»»ä½å ¶ä»è¯è¨æèæ¬ã
è¿ä¸¤ä¸ªæ¹æ³ç说æå¦ä¸ï¼
1.æå¨ï¼ä½¿ç¨ Posterï¼ï¼
å¨æ¬èä¸ï¼æ们å°è®¨è®ºä½¿ç¨ Poster æå¨æµè¯ä¸äº IBM Systems Director çåºæ¬åè½ï¼
1.è·å¾èµæºå表ï¼GET æä½ï¼
2.åç°æ°èµæº ï¼POST æä½ï¼
3.ä¿®æ¹å·²åç°çèµæºï¼PUT æä½ï¼
4.å é¤èµæºï¼DELETE æä½ï¼
1.è·å¾èµæºå表ï¼GET æä½ï¼ï¼
å¦å¾ 1 æ示ï¼æ¨ä½¿ç¨ GET æä½å¯ä»¥ååºèµæºãGET æ£ç´¢æå ³è¯¥èµæºçä¿¡æ¯ãæ£ç´¢èµæºç请æ±å¦å¾ 1 æ示ï¼
å¾ 1. ä½¿ç¨ Poster ç GET æä½
å¨å¾ 1 ä¸ï¼æ¨ä½ä¸ºç¨æ·å¯ä»¥çå°ä»¥ä¸ä¿¡æ¯ï¼
1.URL: æ£ç´¢æå ³æå¡å¨ä¿¡æ¯ç URIã
2.Actions: éå®çæä½æ¯ GETã
3.Header é¨åï¼ç¨æ·éè¦å¨è¿é¨åä¸è¾å ¥ä»¥ä¸å 容ï¼
ISDAPIVersion: IBM Systems Director ççæ¬ã
Authorization: è¿æ¯ä¸ä¸ª base64 转æ¢çç¨æ· ID åå¯ç ï¼ç¨äº IBM Systems Directorã
Accept: å¯æ¥åçå 容类å
ååºå¦å¾ 2 æ示ï¼
å¾ 2. GET æä½çååº
å¨å¾ 2 ä¸ï¼æ¨å¯ä»¥çå° IBM Systems Director 对 GET 请æ±çååºãååºå
æ¬ä¸ä¸ªè¿å代ç åååºæ£æãå¾ 2 ä¸çè¿å 代ç æ¯ 200
(OK)ï¼èååºæ£ææ¯ IBM Systems Director æè¿åçææèµæºçå表ã
åç°èµæºï¼POST æä½ï¼
åç°æ¯ IBM Systems Director çä¸ä¸ªé常åºæ¬çæä½ï¼ç¨äºåç°èµæºãæ¨éè¦ä½¿ç¨ POST æ¹æ³è¿è¡åç°ï¼å æ¤ï¼æ¨éè¦æä¾ HTTP æ£æ
(JSON) ä¸ HTTP 头ãåç°ç HTTP æ£æå¦ä¸ï¼
æ¸ å 1. è¾å ¥ POST åç°æä½ç JSON
{
"IPAddress": ["9.1.2.3"],
"ResourceTypes": ["Server", "OperatingSystem"]
}
æ¨éè¦æä¾èµæºç IP å°ååèµæºç±»åãä½¿ç¨ POST æä½å¯ä»¥åç°æ°æºï¼å¦å¾ 3 æ示ã
å¾ 3. POST æä½åç°èµæº
å¨å¾ 4 ç HTTP ååºä¸è¦æ³¨æä¸äºéè¦äºé¡¹ï¼
ä½¿ç¨ Location URI ç GET æä½çååºå¦å¾ 5 æ示ã
å¾ 5. ä½¿ç¨ Location URI ç GET æä½çååº
è¿å代ç ï¼å¯¹äº POST 请æ±æ¯ 201
Location: POST æä½æ¯å¼æ¥æä½ï¼å®å
æ¬è¿åçä½ç½®ãä½ç½®æ¯ä¸ä¸ª URLï¼å®å¯ä»¥ç¨äºæ£æ¥ä½¿ç¨ GET æä½çä½ä¸ç¶æï¼å¦å¾ 1
æ示ã
å¨ HttpResponse ä¸ï¼å¦å¾ 5 æ示ï¼æ¨å¯ä»¥çè§ä»¥ä¸å¼ï¼
URI: å®æ¯ä¹å POST æä½ç "Location"ã
Percent Complete: å®ä»¥ç¾åæ¯æ¾ç¤ºä»»å¡çå®æç¶æãå¨å¾ 5 ä¸å®æ¯ 100%ï¼æå³çä»»å¡å·²ç»å®æã
DiscoveryStatus: 该å段æ¾ç¤ºä½ä¸çç¶æï¼å³ï¼å®æ¯å¦æåãå¨å¾ 5 ä¸ï¼å®çå¼æ¯
"Ok"ï¼è¿æå³çä½ä¸å·²æåå®æã
ä¿®æ¹èµæºï¼PUT æä½ï¼ï¼
è¦ä¿®æ¹ä¸ä¸ªç°æèµæºï¼æ¨éè¦ä½¿ç¨ PUT æä½ãå¯¹äº PUT æä½ï¼æ¨éè¦ä¼ é HTTP æ£æå HTTP 头ãç¨äºä¿®æ¹èµæºç HTTP æ£æå¦ä¸ï¼
æ¸ å 2. æ¸ å 2. è¾å ¥ PUT ä¿®æ¹èµæºæä½ç JSON
{
"Properties": {"DisplayName" : "NewName"}
}
æ¨å¯ä»¥ä½¿ç¨ PUT æä½æ¥ä¿®æ¹èµæºï¼å¦å¾ 6 æ示ã
å¾ 6. PUT æä½æ¥ä¿®æ¹èµæº