ãã转载
ããæ建webå¯è®¿é®åºç¨ç¼ç¨æ¥å£å¾ç®åï¼ä½ä½¿ä¹è¯å¥½å·¥ä½ï¼èä¸ä¸é´æå´ä¸ç®åï¼Les Hazlewoodå¨2013å¹´JavaOne大ä¼ä¸å¦æ¤è¯´ï¼ä»æ¯Stormpathçé¦å¸ææ¯å®ãHazlewoodå¨å¤§ä¼ä¸å±ç¤ºäºéè¿JAX-RSåJerseyæ建ç¾å¥½çREST+JSON APIçæä½³å®è·µã
ããâ表é¢çæ¥ï¼è¯å¥½çREST APIå¾ç®åï¼å³ä½¿å端å¾å¤æï¼â Hazlewoodå¨ä¸æ¬¡é访说å°ãä¸ä¸ªAPIå
³æ³¨ä¸ç³»åçä¸è¥¿ï¼ä»¥åå¦ä½è¡¨ç°ä¸ªäººçä¸è¥¿ãåå°APIéåï¼æç´¢ææ书ç±ååºçåç©ï¼ä½ ä¼åç°ä¸ä¸ªç®æ´ç解å³æ¹æ¡ï¼å®å¾ç´è§ï¼ä¸ä¸æ¯å¤ªå¤æã
ããå¨æ¬æä¸ï¼Hazlewoodæ·±å
¥ææ¢è®¨äºAPIæä½³å®è·µãREST APIåJSONçä¼ç¼ºç¹ççã
ãã使ç¨REST APIæ¶ï¼ä»ä¹æ¯å¼å人åéè¦æ¢ç´¢çï¼
ããLes Hazlewoodï¼RESTä½ä¸ºæ¶æå¼æ建åå¨äºHTTPçæ顶å±ãä½ äº¤æ¢æ°æ®çæ¹å¼ãä½ å建ã读åãæ´æ°åå é¤æ°æ®çè¯ä¹é½å»ºç«å¨HTTPè§èä¹å
ãRESTæ¯ç¨äºç¼çºå½äº¤æ¢è·¨å离æºå¨å建读å-å é¤æ¶çå·¥ä½ç¯å¢å¦ä½ã
ããè¿å°±æ¯RESTï¼ç¼çºè¿äºè·¨å离æºå¨çè¡ä¸ºåççæ¹å¼ãå 为å®ä¾èµäºHTTPï¼æå¯è½æä¸å°Linuxæºå¨ï¼å®å¯ä»¥ä¸Windowsæºå¨æ¶è¡å¯¹è¯ï¼ä¹å¯ä»¥ä¸Macæºå¯¹è¯ãå®å¹¶ä¸æ¯å¹³å°æååç¹å®çãå 为HTTPæ å¤ä¸å¨ï¼æ以RESTå°±æ å¤ä¸å¨ãææè¯è¨ï¼PythonãPHPãJavaåC#ï¼é½å¯ä»¥ä¸RESTä¸èµ·å·¥ä½ã
ããRESTç®åäºæææ¹é¢ãææ人é½ä»¥ä¸ºä»ä»¬äºè§£äºHTTPãè¿æ£æ¯ä½ çæµè§å¨æ讲çä¸è¥¿ãä»ä»¬ç¥éHTTPåè®®ãç¥éGITãç¥éPOSTï¼å 为ä»ä»¬å¤å¹´ä»¥æ¥ä¸ç´å¨å¡«åweb表åãæ以å 为RESTåªä½¿ç¨HTTPï¼å¼å人å就认为å®å¾ç®åï¼ä½æ¯ç°å¨RESTæå¡è¶æ¥è¶å¤ï¼èä¸æ¯XMLï¼å®èæ±çSOAPã
ãã使ç¨RESTçé¾ç¹å¨åªï¼
ããHazlewood:ï¼è¿æ£æ¯æè¦åçæ¼è®²åå ãRESTæ¯æ¶ææ ·å¼ï¼ä½æ¯ä½¿ç¨å®çæ¹æ³è®ºè¿æ²¡ææ£å¼çæ ååè§èãç¨æ ·å¼æ¥è§£éä¸ä¸ãæ认为å®çè¿è¡æ¹å¼å¯è½ä¼ä¸ä½ 以为ç¨å¾®æç¹ä¸åãå 为å®ä¸æ¯ä¸ä¸ªæºå¨å¯ä»¥å¤å¶çè§èï¼è¿éæºå
¥äºäººä¸ºçå ç´ ãæä¸è¥¿åå¾ç®åæç¨çæ¼æ´å¾å¾é½ä¸ç®åãRESTåJOSNå¾ç®åãHTTPå¾ç®åãä½è¦ç¡®ä¿ä½¿ç¨ä¸¤è
解å³é®é¢æ¶ï¼è¦ç´è§ï¼èä¸æ¯éå¤é½å¯ç¼ç åã
ããä½ æ¨èJSONåRESTä¸èµ·ä½¿ç¨çå
¶å®åå è¿æä»ä¹ï¼
ããHazlewoodï¼RESTåJSONæä¾äºä¸äººå好çæ°æ®è¡¨è¿°æ¹æ³ï¼æ°æ®ä¸ååXMLé£æ ·æ¥æ¤ï¼ä½ çèç¼å°±å¯ä»¥å¾å®¹æçå°ãè¿ä¸ç´é½æ¯å¹¿æ³éç¨JSONçåå ã
ããJSONæ¯è¯æ³è§èãå®åªæ¯å®ä¹äºåºæ¬çå符串ãæ°åã空å¼ãé空å¼ãå®å
è®¸ä½ ä»¥ä¸ç§ç®åç模å¼è¡¨è¿°å¤æçäºæ
ï¼èä¸ä»¥æå°çå
æ°æ®éãå®å¦æ¤çç¯ç« ï¼å¯ä»¥ç¨äºè®¸å¤ä¸åçç¯å¢ä¸ãæºå¨å¾å®¹æ对å
¶è¿è¡è§£æã人们ä¹å¾å®¹æé
读ã
ããJavaScriptæ¯ä¸çä¸ä¸ä¸ªå æéè¦ä½ç½®çç¼ç¨è¯è¨ãå³ä½¿ä¸»è¦çåºç¨æ¯ç±JavaãPythonæC#æ建çï¼æ¯éä¹å¾é«ï¼å¦æä½ æä¸ä¸ªç½é¡µï¼æä¸ä¸ªå¯è§çç¨æ·çé¢ï¼é£ä¹å°±ä¼æ¶åå°ä¸äºJavaScriptãJSONä¸JavaScriptå
¼å®¹ãææå
·å¤JavaScriptç¼ç¨ç»éªç人é½ä¼åç°ä»ä»¬å¾å®¹æå°±ä¼äºè§£JSONãå¦æä½ å·²ç»ä½¿ç¨äºJavaScriptï¼é£å°±è½å¾è½»æ¾å°ä¸APIéæãå¦æAPIè¿åç»JSONï¼èä¸ä½ å·²ç»ç¼åçJavaScriptï¼é£ä¹ä½ çç¼ç¨è¯è¨å°±å·²ç»ç¥éå¦ä½ä¸è¿åç»æå¡å¨çæ°æ®è¿è¡äº¤äºãJSON使ç¨JavaScriptè¿è¡æ°æ®äº¤æ¢ï¼èä¸åªæ¯ç¼å软件ï¼è¿å¨å½åå·²ç»å¾æµè¡äºï¼
ããä»ä¹æ¶å使ç¨JSONæ£ç¡®ï¼ä»ä¹æ¶åé误ï¼
ããHazlewoodï¼æ¾ç¶ï¼XMLå¨ç»æå表述æ°æ®ä¸æ´å¥½ãXMLææ¡£ä¸å
å«æ´å¤çä¿¡æ¯ï¼ç±»åå¨XMLææ¡£ä¸è¡¨è¿°ä¼æ´ææãXMLé常éåæ°æ®äº¤æ¢ï¼ä½æç¨æ§æ¹é¢å´ä½¿ç¨å¼åè
ç¹è±«äºãJSONç¨èç¼å°±å¯ä»¥æ£æ¥ãXMLå¨è®¾è®¡ä¸æ´å¤æãJSONæ¯é常ç®åçè¯æ³ãè°å°è¯è¨è®¾è®¡ï¼JSONåªæ建äºä¸å°é¨åçæ ¸å¿å
ç´ ï¼èä¸ä¸åé½æºäºè¿ä¸å°é¨åå
ç´ ãå 为å®çç®åæ§ï¼å®å¾å®¹ææä½ï¼ä¹å¾å®¹æç解ãä¸XMLç¸æ¯ï¼JSON并ä¸æ¯å¾éåæºå¨æ¶åä¿¡æ¯ãä»è¿ç¹æ¥çï¼XMLå°±ä¼åçæ´å¥½ã
温馨提示:答案为网友推荐,仅供参考