ΪWebÉè¼Æ¡¢ÊµÏÖºÍά»¤API²»½ö½öÊÇÒ»ÏîÌôÕ½£»¶ÔºÜ¶à¹«Ë¾À´Ëµ£¬ÕâÊÇÒ»ÏîÊÆÔÚ±ØÐеÄÈÎÎñ¡£±¾ÏµÁÐ
½«´øÁì¶ÁÕß×ß¹ýÒ»¶ÎÂọ́¬´ÓΪAPIÈ·¶¨ÒµÎñÓÃÀýµ½Éè¼Æ·½·¨ÂÛ£¬½â¾öʵÏÖÄÑÌ⣬²¢´Ó³¤Ô¶µÄ½Ç¶È¿´´ýÔÚWebÉÏά»¤¹«¹²API¡£ÑØÍ¾½«»áÓжÔÓÐÓ°ÏìÁ¦µÄÈËÎïµÄ·Ã̸£¬ÉõÖÁ»¹ÓÐAPI¼°Ïà¹ØÖ÷ÌâµÄÍÆ¼öÔĶÁÇåµ¥¡£
ÕâÆª InfoQÎÄÕÂÊÇ Web API´Ó¿ªÊ¼µ½½áÊøÏµÁÐÎÄÕÂÖеÄһƪ¡£Äã¿ÉÒÔÔÚÕâÀï½øÐж©ÔÄ£¬ÒÔ±ãÄÜÔÚÓÐÐÂÎÄÕ·¢²¼Ê±ÊÕµ½Í¨Öª¡£
Éè¼ÆWeb API²»Ö¹ÊÇURL¡¢HTTP״̬Â롢ͷÐÅÏ¢ºÍÓÐЧ¸ºÔØ¡£Éè¼ÆµÄ¹ý³Ì--»ù±¾ÉÏÊÇΪÁËÄãµÄAPI¡°¹Û²ìºÍ¸ÐÊÜ¡±
-- Õâ·Ç³£ÖØÒª£¬²¢ÇÒÖµµÃÄ㸶³öŬÁ¦¡£±¾ÎļòÒª¸ÅÀ¨ÁËÒ»ÖÖͬʱ·¢»ÓHTTPºÍWebÁ½ÕßÓÅÊÆµÄAPIÉè¼Æ·½·¨ÂÛ¡£²¢ÇÒËü²»½ö¶ÔHTTPÓÐЧ¡£Èç¹ûÓÐʱÄ㻹ÐèҪͨ¹ýWebSockets¡¢XMPP¡¢MQTTµÈʵÏÖͬÑùµÄ·þÎñ£¬´ó²¿·ÖAPIÉè¼ÆµÄ½á¹ûͬÑù¿ÉÓ᣿ÉÒÔÈÃδÀ´Ö§³Ö¶àÖÖÐÒé¸üÈÝÒ×ʵÏÖºÍά»¤¡£
ÓÅÐãµÄÉè¼Æ³¬Ô½ÁËURL¡¢×´Ì¬Â롢ͷÐÅÏ¢ºÍÓÐЧ¸ºÔØ
Ò»°ãÀ´Ëµ£¬ Web APIÉè¼ÆÖ¸ÄϵÄÖØµãÊÇͨÓõŦÄÜÌØÐÔ£¬±ÈÈçURLÉè¼Æ£¬ÕýȷʹÓÃ״̬Âë¡¢·½·¨¡¢Í·ÐÅÏ¢Ö®ÀàµÄHTTP¹¦ÄÜÌØÐÔ£¬ÒÔ¼°³ÖÓÐÐòÁл¯µÄ¶ÔÏó»ò¶ÔÏóͼµÄÓÐЧ¸ºÔØÉè¼Æ¡£ÕâЩ¶¼ÊÇÖØÒªµÄʵÏÖϸ½Ú£¬µ«²»Ì«ËãµÃÉÏAPIÉè¼Æ¡£²¢ÇÒÕýÊÇAPIµÄÉè¼Æ--·þÎñµÄ»ù±¾¹¦ÄÜÌØÐԵıí´ïºÍÃèÊö·½Ê½--ΪWeb
APIµÄ³É¹¦ºÍ¿ÉÓÃÐÔ×ö³öÁËÖØÒª¹±Ïס£
Ò»¸öÓÅÐãµÄÉè¼Æ¹ý³Ì»ò·½·¨ÂÛ¶¨ÒåÁËÒ»×éÒ»Öµġ¢¿ÉÖØ¸´µÄ²½Ö輯£¬¿ÉÒÔÔÚ½«Ò»¸ö·þÎñÆ÷¶Ë·þÎñ×é¼þÊä³öΪһ¸ö¿É·ÃÎʵġ¢ÓÐÓõÄWeb
APIʱʹÓá£ÄǾÍÊÇ˵£¬Ò»¸öÇåÎúµÄ·½·¨ÂÛ¿ÉÒÔÓÉ¿ª·¢ÈËÔ±¡¢Éè¼ÆÊ¦ºÍÈí¼þ¼Ü¹¹Ê¦¹²Ïí£¬ÒÔ±ãÔÚÕû¸öʵÏÖÖÜÆÚÄÚ°ïÖú´ó¼ÒÐͬ»î¶¯¡£Ò»¸ö³ÉÊìµÄ·½·¨ÂÛ»¹¿ÉÒÔËæ×Åʱ¼äµÄ·¢Õ¹£¬Ëæ×Åÿ¸öÍŶӲ»¶Ï·¢ÏÖ¸ÄÉÆºÍ¾«¼ò¹ý³ÌµÄ·½Ê½¶øµÃµ½¾«Á¶£¬È´²»»á¶ÔʵÏÖϸ½Ú²úÉú²»ÀûµÄÓ°Ï졣ʵ¼ÊÉÏ£¬µ±ÊµÏÖϸ½ÚºÍÉè¼Æ¹ý³ÌÁ½Õß¶¼ÓÐÇåÎúµÄ¶¨Òå²¢Ï໥·ÖÀëʱ£¬ÊµÏÖϸ½ÚµÄ¸Ä±ä£¨±ÈÈç²ÉÓÃÄĸöƽ̨¡¢OS¡¢¿ò¼ÜºÍUIÑùʽ£©¿ÉÒÔ¶ÀÁ¢ÓÚÉè¼Æ¹ý³Ì¡£
APIÉè¼ÆÆß²½·¨
½ÓÏÂÀ´ÎÒÃÇÒª¶ÔRichardsonºÍAmundsenºÏÖøµÄ¡¶REST·ç¸ñµÄWeb API¡·Ò»ÊéÖÐËù½éÉܵÄÉè¼Æ·½·¨ÂÛ×ö¼òÒªµØ¸ÅÊö¡£ÒòΪƪ·ùËùÏÞ£¬ÎÒÃDz»ÄÜÉîÈë̽ÌÖÕâÒ»¹ý³ÌÖеÄÿһ²½Ö裬µ«ÕâÆªÎÄÕ¿ÉÒÔÈÃÄãÓиö´ó¸ÅµÄÈÏʶ¡£ÁíÍ⣬¶ÁÕß¿ÉÒÔÓÃÕâÆª¸ÅÊö×÷ΪָÄÏ£¬¸ù¾Ý×Ô¼º×éÖ¯µÄ¼¼ÄܺÍÄ¿±ê¿ª·¢Ò»¸ö¶ÀÓеÄWeb
APIÉè¼Æ¹ý³Ì¡£
˵Ã÷£ºÊǵģ¬7²½¿´ÆðÀ´Óеã¶ù¶à¡£Êµ¼ÊÉÏÇåµ¥ÖÐÓÐ5¸ö²½ÖèÊôÓÚÉè¼Æ£¬¶îÍ⻹ÓÐÁ½¸öÌõÄ¿ÊÇʵÏֺͷ¢²¼¡£×îºóÕâÁ½¸öÉè¼Æ¹ý³ÌÖ®ÍâµÄ²½ÖèÊÇΪÁËÌṩһ¸ö´ÓÍ·µ½Î²µÄÌåÑé¡£
ÄãÓ¦¸Ã¼Æ»®ºÃ¸ù¾ÝÐèÒªÖØÐµü´úÕâЩ²½Ö衣ͨ¹ý²½Öè2£¨»æÖÆ×´Ì¬Í¼£©Òâʶµ½ÔÚ²½Öè1£¨ÁгöËùÓÐ×é³É²¿·Ö£©Óиü¶à¹¤×÷Òª×ö¡£µ±Äã½Ó½üÓÚд´úÂ루²½Öè6£©Ê±£¬¿ÉÄܻᷢÏÖµÚ5²½£¨´´½¨ÓïÒåµµ°¸£©ÖЩÁËһЩ¶«Î÷¡£¹Ø¼üÊÇÓÃÕâ¸ö¹ý³Ì±©Â¶¾¡¿ÉÄܶàµÄϸ½Ú£¬²¢Ô¸Òâ»ØÍËÒ»²½»òÕßÁ½²½£¬°ÑÇ°ÃæÂ©µôµÄ²¹ÉÏ¡£µü´úÊǹ¹½¨¸ü¼ÓÍêÕûµÄ·þÎñ»ÃæÒÔ¼°³ÎÇåÈçºÎ½«Ëü±©Â¶¸ø¿Í»§¶Ë³ÌÐòµÄ¹Ø¼ü¡£
²½Öè1 : ÁгöËùÓÐ×é³É²¿·Ö
µÚÒ»²½ÊÇÁгö¿Í»§¶Ë³ÌÐò¿ÉÄÜÒª´ÓÎÒÃǵķþÎñÖлñÈ¡µÄ£¬»òÒª·Åµ½ÎÒÃǵķþÎñÖеÄËùÓÐÊý¾ÝƬ¶Î¡£ÎÒÃǽ«ÕâЩ³ÆÎªÓïÒåÃèÊö·û¡£ÓïÒåÊÇÖ¸ËüÃÇ´¦ÀíÊý¾ÝÔÚÓ¦ÓóÌÐòÖеĺ¬Ò壬ÃèÊö·ûÊÇÖ¸ËüÃÇÃèÊöÁËÔÚÓ¦ÓóÌÐò×ÔÉíÖз¢ÉúÁËʲô¡£×¢Ò⣬ÕâÀïµÄÊÓµãÊǿͻ§¶Ë£¬²»ÊÇ·þÎñÆ÷¶Ë¡£½«APIÉè¼Æ³É¿Í»§¶ËʹÓõĶ«Î÷ºÜÖØÒª¡£
±ÈÈç˵£¬ÔÚÒ»¸ö¼òµ¥µÄ´ý°ìÊÂÏîÁбíÓ¦ÓÃÖУ¬Äã¿ÉÄÜ»áÕÒµ½ÏÂÃæÕâЩÓïÒåÃèÊö·û£º
1.id : ϵͳÖÐÿÌõ¼Ç¼µÄΨһ±êʶ·û
2.title : ÿ¸ö´ý°ìÊÂÏîµÄ±êÌâ
3.dateDue : ´ý°ìÊÂÏîÓ¦¸ÃÍê³ÉµÄÈÕÆÚ
4.complete : Ò»¸öÊÇ/·ñ±ê¼Ç£¬±íÃ÷´ý°ìÊÂÏîÊÇ·ñÒѾÍê³ÉÁË¡£
ÔÚÒ»¸ö¹¦ÄÜÍ걸µÄÓ¦ÓóÌÐòÖУ¬¿ÉÄÜ»¹»áÓкܶàÓïÒåÃèÊö·û£¬Éæ¼°´ý°ìÊÂÏîµÄ·ÖÀࣨ¹¤×÷¡¢¼ÒÍ¥¡¢Ô°Òյȣ©£¬Óû§ÐÅÏ¢£¨ÓÃÓÚ¶àÓû§µÄʵÏÖ£©µÈµÈ¡£²»¹ýΪÁËÍ»³ö¹ý³Ì±¾Éí£¬ÎÒÃǻᱣ³ÖËüµÄ¼òµ¥ÐÔ¡£
²½Öè2 : »æÖÆ×´Ì¬Í¼
ÏÂÒ»²½ÊǸù¾Ý½¨ÒéµÄAPI»æÖƳö״̬ͼ¡£Í¼ÖеÄÿ¸ö¿ò¶¼±íʾһÖÖ¿ÉÄܵıíʾ--Ò»¸ö°üº¬ÔÚ²½Öè1ÖÐÈ·¶¨µÄÒ»»ò¶à¸öÓïÒåÃèÊö·ûµÄÎĵµ¡£Äã¿ÉÒÔÓüýÍ·±íʾ´ÓÒ»¸ö¿òµ½ÏÂÒ»¸öµÄת±ä--´ÓÒ»¸ö״̬µ½ÏÂÒ»¸ö״̬¡£ÕâЩת±äÊÇÓÉÐÒéÇëÇó´¥·¢µÄ¡£
ÔÚÿ´Î±ä»¯Öл¹²»Óü±×ÅÖ¸Ã÷ÓÃÄĸöÐÒé·½·¨¡£Ö»Òª±êÃ÷±ä»¯Êǰ²È«µÄ£¨±ÈÈçHTTP GET£©£¬»¹ÊDz»°²È«/·ÇÃݵȵ썱ÈÈçHTTP.POST£©£¬»òÕß²»°²È«/Ãݵȵģ¨PUT£©¡£
˵Ã÷£ºÃݵȶ¯×÷ÊÇÖ¸ÖØ¸´Ö´ÐÐʱ²»»áÓÐÎÞ·¨Ô¤Áϵĸ±×÷ÓᣱÈÈçHTTP PUT £¬ÒòΪ¹æ·¶Ëµ·þÎñÆ÷Ó¦¸ÃÓÿͻ§¶Ë´«À´µÄ×´Ì¬ÖµÌæ»»Ä¿±ê×ÊÔ´µÄÒÑÓÐÖµ£¬ËùÒÔ˵ËüÊÇÃݵȵġ£¶ø
HTTP POST ÊÇ·ÇÃݵȵģ¬ÒòΪ¹æ·¶Ö¸³öÌá½»µÄÖµÓ¦¸ÃÊÇ×·¼Óµ½ÒÑÓÐ×ÊÔ´¼¯ºÏÉϵ쬶ø²»ÊÇÌæ»»¡£
ÔÚÕâ¸ö°¸ÀýÖУ¬ÎÒÃÇÕâ¸ö¼òµ¥µÄ´ý°ìÊÂÏî·þÎñµÄ¿Í»§¶ËÓ¦ÓóÌÐò¿ÉÄÜÐèÒª·ÃÎÊ¿ÉÓÃÌõÄ¿µÄÇåµ¥£¬ÄܹýÂËÕâ¸öÇåµ¥£¬Äܲ鿴µ¥¸öÌõÄ¿£¬²¢ÇÒÄܽ«ÌõÄ¿±ê¼ÇΪÒÑÍê³É¡£ÕâЩ¶¯×÷Öкܶ඼ÓÃ״ֵ̬ÔÚ¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼ä´«µÝÊý¾Ý¡£±ÈÈçadd-item
¶¯×÷ÔÊÐí¿Í»§¶Ë´«µÝ״ֵ̬titleºÍdueDate¡£ÏÂÃæÊÇÒ»¸ö˵Ã÷ÄÇЩ¶¯×÷µÄ״̬ͼ¡£

Õâ¸ö״̬ͼÖÐչʾµÄÕâЩ¶¯×÷£¨Ò²ÔÚÏÂÃæÁгöÀ´ÁË£©Ò²ÊÇÓïÒåÃèÊö·û-- ËüÃÇÃèÊöÁËÕâ¸ö·þÎñµÄÓïÒ嶯×÷¡£
1.read-list
2.filter-list
3.read-item
4.create-item
5.mark-complete
ÔÚÄã×öÕâ¸ö״̬ͼµÄ¹ý³ÌÖУ¬Äã¿ÉÄܻᷢÏÖ×Ô¼ºÂ©µôÁ˿ͻ§¶ËÕæÕýÏëÒª»òÐèÒªµÄ¶¯×÷»òÊý¾ÝÏî¡£ÕâÊÇÍ˻ص½²½Öè1µÄ»ú»á£¬Ìí¼ÓһЩеÄÃèÊö·û£¬²¢/»òÕßÔÚ²½Öè2ÖиĽø×´Ì¬Í¼¡£
ÔÚÄãÖØÐµü´ú¹ýÕâÁ½²½Ö®ºó£¬ÄãÓ¦¸Ã¶Ô¿Í»§¶Ë¸ú·þÎñ½»»¥ËùÐèµÄËùÓÐÊý¾ÝµãºÍ¶¯×÷ÓÐÁ˺õÄÈÏʶºÍÏë·¨¡£
²½Öè 3 : µ÷ºÍħ·¨×Ö·û´®
ÏÂÒ»²½Êǵ÷ºÍ·þÎñ½Ó¿ÚÖеÄËùÓС°Ä§·¨×Ö·û´®¡±¡£¡°Ä§·¨×Ö·û´®¡± È«ÊÇÃèÊö·ûµÄÃû³Æ--ËüÃÇûÓÐÄÚÔڵĺ¬Ò壬ֻÊDZíʾ¿Í»§¶Ë¸úÄãµÄ·þÎñͨѶʱ½«Òª·ÃÎʵ͝×÷»òÊý¾ÝÔªËØ¡£µ÷ºÍÕâЩÃèÊö·ûÃû³ÆµÄÒâ˼ÊÇÖ¸²ÉÓÃÔ´×ÔÏÂÃæÕâЩµØ·½µÄ£¬ÖªÃû¶È¸ü¸ßµÄ¹«¹²Ãû³Æ£º
1.Schema.org
2.microformats.org
3.Dublin Core
4.IANA Link Relation Values
ÕâЩȫÊÇÃ÷È·¶¨ÒåµÄ¡¢¹²ÏíµÄÃû³Æ¿â¡£µ±Äã·þÎñ½Ó¿ÚʹÓÃÀ´×ÔÕâЩԴͷµÄÃû³ÆÊ±£¬¿ª·¢ÈËÔ±ºÜ¿ÉÄÜ֮ǰ¼û¹ý²¢ÖªµÀËüÃÇÊÇʲôÒâ˼¡£Õâ¿ÉÒÔÌá¸ßAPIµÄ¿ÉÓÃÐÔ¡£
˵Ã÷£º¾¡¹ÜÔÚ·þÎñ½Ó¿ÚÉÏʹÓù²ÏíÃû³ÆÊǸöºÃÖ÷Ò⣬µ«ÔÚÄÚ²¿ÊµÏÖÀï¿ÉÒÔ²»Ó㨱ÈÈçÊý¾Ý¿âÀïµÄÊý¾ÝÓòÃû³Æ£©¡£·þÎñ×ÔÉí¿ÉÒÔºÁ²»À§Äѵؽ«¹«¹²½Ó¿ÚÃû³ÆÓ³ÉäΪÄÚ²¿´æ´¢Ãû³Æ¡£
ÒÔ´ý°ìÊÂÏî·þÎñΪÀý£¬³ýÁËÒ»¸öÓïÒåÃèÊö·û- create-item£¬ÎÒÄÜÕÒµ½ËùÓпɽÓÊܵÄÒÑÓÐÃû³Æ¡£Îª´ËÎÒ¸ù¾ÝWeb
Linking RFC5988ÖеĹæÔò´´½¨ÁËÒ»¸ö¾ßÓÐΨһÐÔµÄURI¡£ÔÚ¸ø½Ó¿ÚÃèÊö·ûÑ¡ÔñÖªÃûµÄÃû³ÆÊ±ÐèÒªÕÛÖС£ËüÃǼ«ÉÙÄܸúÄãµÄÄÚ²¿Êý¾Ý´æ´¢ÔªËØÍêÃÀÆ¥Å䣬²»¹ýÄÇû¹ØÏµ¡£
ÕâÀïÊÇÎҵĽá¹û£º
id -> À´×ÔDublin CoreµÄidentifier
title - À´×ÔSchema.orgµÄname
dueDate -> À´×ÔSchema.orgµÄscheduledTime
complete -> À´×ÔSchema.orgµÄstatus
read-list -> À´×ÔIANA Link Relation
ValuesµÄcollection
filter-list -> À´×ÔIANA Link Relation
ValuesµÄsearch
read-item -> À´×ÔIANA Link Relation
ValuesµÄitem
create-item ->ÓÃRFC5988µÄhttp://mamund.com/rels/create-item
mark-complete - À´×ÔIANA Link Relation
ValuesµÄedit
¾¹ýÃû³Æµ÷ºÍ£¬ÎÒµÄ״̬ͼ±ä³ÉÁËÏÂÃæÕâÑù£º

²½Öè 4 : ѡһ¸öýÌåÀàÐÍ
APIÉè¼Æ¹ý³ÌµÄÏÂÒ»²½ÊÇѡһ¸öýÌåÀàÐÍ£¬ÓÃÀ´ÔÚ¿Í»§¶ËºÍ·þÎñÆ÷¶ËÖ®¼ä´«µÝÏûÏ¢¡£WebµÄÌØµãÖ®Ò»ÊÇÊý¾ÝÊÇͨ¹ýͳһµÄ½Ó¿Ú×÷Ϊ±ê×¼»¯Îĵµ´«ÊäµÄ¡£Ñ¡Ôñͬʱ֧³ÖÊý¾ÝÃèÊö·û£¨±ÈÈç"identifier"¡¢"status"µÈ£©ºÍ¶¯×÷ÃèÊö·û£¨±ÈÈç"search"¡¢"edit"µÈ£©µÄýÌåÀàÐͺÜÖØÒª¡£ÓÐÏ൱¶à¿ÉÓõĸñʽ¡£
ÔÚÎÒдÕâÆªÎÄÕÂʱ£¬Ò»Ð©¶¥¼âµÄ³¬Ã½Ìå¸ñʽÊÇ (ÅÅÃû²»·ÖÏȺó)£º
1.³¬Îı¾±ê¼ÇÓïÑÔ (HTML)
2.³¬Îı¾Ó¦ÓóÌÐòÓïÑÔ(HAL)
3.Collection+JSON (Cj)
4.Siren
5.JSON-API
6.½»»»±í´ïʽµÄͳһ»ù´¡ (UBER)
ÈÃËùÑ¡ÔñµÄýÌåÀàÐÍÊÊÓÃÓÚÄãµÄÄ¿±êÐÒéÒ²ºÜÖØÒª¡£´ó¶àÊý¿ª·¢ÈËԱϲ»¶ÓÃHTTP
ÐÒé×ö·þÎñ½Ó¿Ú¡£È»¶øWebSockets¡¢XMPP¡¢MQTTºÍCoAP Ò²»áÓÃ--ÌØ±ðÊǶÔÓÚ¸ßËÙ¡¢¶ÌÏûÏ¢¡¢¶Ëµ½¶ËµÄʵÏÖ¡£
ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒ»áÒÔHTMLΪÏûÏ¢¸ñʽ£¬²¢²ÉÓÃHTTPÐÒé¡£HTMLÓÐËùÓÐÊý¾ÝÃèÊö·ûËùÐèµÄÖ§³Ö(<UL>ÓÃÓÚÁÐ±í£¬
<LI>ÓÃÓÚÌõÄ¿£¬ <SPAN>ÓÃÓÚÊý¾ÝÔªËØ)¡£ËüÒ²ÓÐ×ã¹»µÄ¶¯×÷ÃèÊö·ûÖ§³Ö (<A>ÓÃÓÚ°²È«Á´½Ó£¬
<FORM method="get">ÓÃÓÚ°²È«×ª±ä£¬ <FORM
method="post">ÓÃÓڷǰ²È«×ª±ä£©¡£
×¢Ò⣺ÔÚÕâ¸ö״̬ͼÖУ¬ ¡°±à¼¡±¶¯×÷ÊÇÃݵȵ썱ÈÈçHTTP PUT£©£¬²¢ÇÒHTMLÈÔȻûÓжÔPUTµÄÔÉúÖ§³Ö¡£ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒ»áÌí¼ÓÒ»¸öÓòÀ´½«HTMLµÄPOST×ö³ÉÃݵȵġ£
ºÃÁË£¬ÏÖÔÚÎÒ¿ÉÒÔ»ùÓÚÄǸö״̬ͼ´´½¨Ò»Ð©ÑùÀý±íʾÀ´¡°ÊÔÊÔ¡±Õâ¸ö½Ó¿ÚÁË¡£¶ÔÎÒÃǵÄÀý×Ó¶øÑÔ£¬Ö»ÓÐÁ½¸ö±íʾҪäÖȾ£º¡°´ý°ìÊÂÏîÁÐ±í¡±ºÍ¡°´ý°ìÊÂÏîÌõÄ¿¡±±íʾ£º
ͼ1 £ºÓÃHTML±íʾ´ý°ìÊÂÏîÁÐ±í¼¯ºÏ


ͼ2 £ºÓÃHTML±íʾ´ý°ìÊÂÏîÌõÄ¿

¼Çס£¬ÔÚÄã×ö״̬ͼµÄ±íʾÑùÀýʱ£¬¿ÉÄܻᷢÏÖ֮ǰµÄ²½ÖèÖÐÓÐËùÒÅ©£¨±ÈÈ穵ôÃèÊö·û£¬¶¯×÷ÃèÊö·ûÖÐÓÐÃݵÈÖ®ÀàµÄ±ä»¯µÈ£©¡£ÄÇҲû¹ØÏµ¡£ÏÖÔÚ¾ÍÊǽâ¾öËùÓÐÕâЩÎÊÌâµÄʱ»ú--
ÔÚÄã°ÑÕâ¸öÉè¼Æ±ä³É´úÂë֮ǰ¡£
µÈÄã¶Ô±íʾÍêÈ«ÂúÒâÖ®ºó£¬ÔÚ¿ªÊ¼Ð´´úÂë֮ǰ»¹ÓÐÒ»¸ö²½Öè--´´½¨ÓïÒåµµ°¸¡£
²½Öè 5 : ´´½¨ÓïÒåµµ°¸
ÓïÒåµµ°¸ÊÇÒ»¸öÎĵµ£¬ÆäÖÐÁгöÁËÉè¼ÆÖеÄËùÓÐÃèÊö·û£¬°üÀ¨¶Ô¿ª·¢ÈËÔ±¹¹½¨¿Í»§¶ËºÍ·þÎñÆ÷¶ËʵÏÖÓаïÖúµÄËùÓÐϸ½Ú¡£Õâ¸öµµ°¸ÊÇÒ»¸öʵÏÖÖ¸ÄÏ£¬²»ÊÇʵÏÖÃèÊö¡£Õâ¸ö²î±ðºÜÖØÒª¡£
·þÎñÃèÊö·ûµÄ¸ñʽ
·þÎñÃèÊöÎĵµ¸ñʽÒѾ³öÏÖÁËÏ൱³¤Ò»¶Îʱ¼äÁË£¬²¢ÇÒµ±ÄãÏë¸øÒÑÓеķþÎñʵÏÖÉú²ú´úÂë»òÎĵµÊ±ºÜ·½±ã¡£È·ÊµÓкܶàÖÖ¸ñʽ¡£
ÔÚÎÒдÕâÆªÎÄÕÂʱ£¬¶¥¼¶¾ºÕùÕßÓУº
1.Web·þÎñ¶¨ÒåÓïÑÔ(WSDL)
2.Ô×Ó·þÎñÃèÊö(AtomSvc)
3.WebÓ¦ÓóÌÐòÃèÊöÓïÑÔ(WADL)
4.Blueprint
5.Swagger
6.REST·ç¸ñµÄÓ¦ÓóÌÐò½¨Ä£ÓïÑÔ(RAML)
µµ°¸µÄ¸ñʽ
ÏÖÔÚÖ»Óм¸ÖÖµµ°¸¸ñʽ¡£ÎÒÃÇÍÆ¼öÏÂÃæÁ½ÖÖ£º
1.Ó¦Óü¶ÓïÒåµµ°¸ (ALPS)
2.JSON-LD + Hydra
ÕâÁ½¸ö¶¼±È½ÏС£JSON-LD¹æ·¶ÔÚ2014ÄêÔçÆÚ´ï³ÉÁËW3CÍÆ¼ö״̬¡£HydraÈÔÊÇÒ»¸ö·Ç¹Ù·½²Ý°¸£¨±¾ÎÄд³Éʱ»¹ÊÇ£©£¬ÓÐÒ»¸ö»îÔ¾µÄ¿ª·¢ÕßÉçÇø¡£ALPSÈÔ´¦ÓÚIETFµÄÔçÆÚ²Ý°¸½×¶Î¡£
ÒòΪµµ°¸ÎĵµµÄÀíÄîÊÇÒªÃèÊöÒ»¸öÎÊÌâ¿Õ¼äµÄÏÖʵÉú»î·½Ã棨²»Ö»ÊÇÄÇÒ»¿Õ¼äÖеĵ¥Ò»ÊµÏÖ£©£¬ËùÒÔÆä¸ñʽ¸úµäÐ͵ÄÃèÊö¸ñʽʮ·Ö²»Í¬£º
ͼ3 : ALPS¸ñʽµÄ´ý°ìÊÂÏîÁбíÓïÒåµµ°¸

Äã»á×¢Òâµ½£¬Õâ¸öÎĵµ¾ÍÏñÒ»¸ö»ù±¾µÄ´Ê»ã±í£¬°üº¬ÁË´ý°ìÊÂÏî·þÎñ½Ó¿ÚÖÐËùÓпÉÄܵÄÊý¾ÝÖµºÍ¶¯×÷--¾ÍÊÇÕâ¸öÀíÄͬÒâ×ñÑÕâ¸öµµ°¸µÄ·þÎñ¿ÉÒÔ×ÔÐоö¶¨ËüÃǵÄÐÒé¡¢ÏûÏ¢¸ñʽÉõÖÁURL¡£Í¬Òâ½ÓÊÜÕâ¸öµµ°¸µÄ¿Í»§¶Ë½«»á¹¹½¨Îª¿ÉÒÔʶ±ð£¬Èç¹ûºÏÊʵϰ£¬ÆôÓÃÕâ¸öÎĵµÖеÄÃèÊö·û¡£
ÕâÖÖ¸ñʽҲºÜÊʺÏÉú³ÉÈËÀà¿É¶ÁµÄÎĵµ£¬·ÖÎöÏàËÆµÄµµ°¸£¬×·×ÙÄĸöµµ°¸ÓõÃ×î¹ã·º£¬ÉõÖÁÉú³É״̬ͼ¡£µ«ÄÇÊÇÁíÍâһƪÎÄÕµĿÎÌâÁË¡£
ÏÖÔÚÄãÓÐÍêÕûµÄÒѵ÷ºÍÃû³ÆµÄÃèÊö·ûÇåµ¥£¬Òѱê¼ÇµÄ״̬ͼ£¬ÒÔ¼°Ò»¸öÓïÒåµµ°¸Îĵµ£¬¿ÉÒÔ¿ªÊ¼×¼±¸±àÂëʵÏÖÑùÀý·þÎñÆ÷ºÍ¿Í»§¶ËÁË¡£
²½Öè 6 : д´úÂë
µ½ÁËÕâÒ»²½£¬ÄãÓ¦¸Ã¿ÉÒÔ½«Éè¼ÆÎĵµ£¨×´Ì¬Í¼ºÍÓïÒåµµ°¸£©½»¸ø·þÎñÆ÷ºÍ¿Í»§¶Ë³ÌÐòµÄ¿ª·¢ÈËÔ±ÁË£¬ÈÃËûÃÇ¿ªÊ¼×ö¾ßÌåµÄʵÏÖ¡£
HTTP·þÎñÆ÷Ó¦¸ÃʵÏÖÔÚµÚ2²½Öд´½¨µÄ״̬ͼ£¬²¢ÇÒÀ´×Ô¿Í»§¶ËµÄÇëÇóÓ¦¸Ã´¥·¢ÕýÈ·µÄ״̬ת±ä¡£·þÎñ·¢Ë͵Äÿ¸ö±íʾ¶¼Ó¦¸ÃÓõÚ3²½ÖÐÑ¡ºÃµÄ¸ñʽ£¬²¢ÇÒÓ¦¸Ã°üº¬Ò»¸öµÚ4²½Öд´½¨µÄÖ¸ÏòÒ»¸öµµ°¸µÄÁ´½Ó¡£ÏìÓ¦ÖÐÓ¦¸Ã°üº¬ÏàÓ¦µÄ³¬Ã½Ìå¿Ø¼þ£¬ÊµÏÖÁËÔÚ״̬ͼÖÐÏÔʾ¡¢²¢ÔÚµµ°¸ÎĵµÖÐÃèÊöµÄ¶¯×÷¡£¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¿ª·¢ÈËÔ±ÔÚÕâʱ¿ÉÒÔ´´½¨Ïà¶Ô¶ÀÁ¢µÄʵÏÖ£¬²¢ÓòâÊÔÑéÖ¤ÆäÊÇ·ñ×ñÊØÁË״̬ͼºÍµµ°¸¡£
ÓÐÁËÎȶ¨µÄ¿ÉÔËÐдúÂ룬»¹ÓÐÒ»²½Òª×ö£º·¢²¼¡£
²½Öè 7 : ·¢²¼ÄãµÄAPI
Web APIÓ¦¸ÃÖÁÉÙ·¢²¼Ò»¸ö×ÜÄܸø¿Í»§¶ËÏìÓ¦µÄURL -- ¼´±ãÊÇÔÚÒ£Ô¶µÄ½«À´¡£ÎÒ½«Æä³ÆÎª¡°¿´°åURL¡±
--ÿ¸öÈ˶¼ÖªµÀµÄ¡£·¢²¼µµ°¸ÎĵµÒ²ÊǸöºÃÖ÷Ò⣬·þÎñµÄÐÂʵÏÖ¿ÉÒÔÔÚÏìÓ¦ÖÐÁ´½ÓËü¡£Ä㻹¿ÉÒÔ·¢²¼ÈËÀà¿É¶ÁµÄÎĵµ¡¢½Ì³ÌµÈ£¬ÒÔ°ïÖú¿ª·¢ÈËÔ±Àí½âºÍʹÓÃÄãµÄ·þÎñ¡£
×öºÃÕâ¸öÖ®ºó£¬ÄãÓ¦¸ÃÓÐÁËÒ»¸öÉè¼ÆÁ¼ºÃµÄ¡¢Îȶ¨µÄ¡¢¿É·ÃÎʵķþÎñÔËÐÐÆðÀ´ÁË£¬ËæÊ±¿ÉÒÔÓá£
×ܽá
±¾ÎÄÌÖÂÛÁËΪWebÉè¼ÆAPIµÄÒ»×é²½Öè¡£ÖØµãÊÇÈÃÊý¾ÝºÍ¶¯×÷ÃèÊöÕýÈ·£¬²¢ÒÔ»úÆ÷¿É¶ÁµÄ·½Ê½¼Ç¼ËüÃÇ£¬ÒÔ±ãÈÃÈËÀ࿪·¢ÈËÔ±¼´±ã²»Ö±½Ó½Ó´¥Ò²ÄÜÇáËÉΪÕâ¸öÉè¼ÆÊµÏÖ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¡£
ÕâЩ²½ÖèÊÇ£º
1.ÁгöËùÓÐ×é³É²¿·Ö
ÊÕ¼¯¿Í»§¶Ë¸ú·þÎñ½»»¥ËùÐèµÄËùÓÐÊý¾ÝÔªËØ¡£
2.»æÖÆ×´Ì¬Í¼
¼Ç¼·þÎñÌṩµÄËùÓж¯×÷£¨×´Ì¬±ä»¯£©
3.µ÷ºÍħ·¨×Ö·û´®
ÕûÀíÄãµÄ¹«¿ª½Ó¿ÚÒÔ·ûºÏ£¨¾¡¿ÉÄÜ£©ÖªÃûµÄÃû³Æ
4.Ñ¡ÔñýÌåÀàÐÍ
ÆÀÉóÏûÏ¢¸ñʽ£¬ÕÒµ½¸úÄ¿±êÐÒéµÄ·þÎñת±ä×îÌù½üµÄÄǸö¡£
5.´´½¨ÓïÒåµµ°¸
±àдһ¸öµµ°¸Îĵµ£¬¶¨Òå·þÎñÖÐÓõÄËùÓÐÃèÊö·û¡£
6.д´úÂë
¸ú¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¿ª·¢ÈËÔ±·ÖÏíµµ°¸Îĵµ£¬²¢¿ªÊ¼Ð´´úÂë²âÊÔ¸úµµ°¸/״̬ͼµÄÒ»ÖÂÐÔ£¬²¢ÔÚÓбØÒªÊ±½øÐе÷Õû¡£
7.·¢²¼ÄãµÄAPI
·¢²¼ÄãµÄ"¿´°åURL"ºÍµµ°¸Îĵµ£¬ÒÔ±ãÆäËûÈË¿ÉÒÔÓÃËûÃÇ´´½¨ÐµķþÎñÒÔ¼°/»òÕ߿ͻ§¶Ë³ÌÐò¡£
ÔÚÄãµÄÉè¼Æ¹ý³ÌÖУ¬Äã¿ÉÄܻᷢÏÖÓÐÒÅ©µÄÔªËØ£¬ÐèÒªÖØ×öijЩ²½Ö裬ÒÔ¼°Òª×öһЩÕÛÖеľö¶¨¡£ÕâÔÚÉè¼Æ¹ý³ÌÖгöÏÖµÃÔ½ÔçÔ½ºÃ¡£½«À´¿ª·¢ÈËÔ±ÒªÇóÓÃеĸñʽºÍÐÒéʵÏÖʱ£¬Ä㻹ÓпÉÄÜÓÃÕâ¸öAPIÉè¼Æ¡£
×îºó£¬Õâ¸ö·½·¨ÂÛÖ»ÊÇΪWeb APIÉè¼Æ¹ý³Ì´´½¨Ò»ÖÖ¿É¿¿¡¢¿ÉÖØ¸´¡¢Ò»ÖµÄÉè¼Æ¹ý³ÌµÄÒ»ÖÖ¿ÉÄÜ·½Ê½¡£ÔÚÄã×öÕâ¸öÀý×Óʱ£¬¿ÉÄܻᷢÏÖ²åÈëһЩ¶îÍâµÄ²½Ö裬»òÕßËõ¼õһЩ»á¸üºÃÓ㬲¢ÇÒ--
µ±È» -- ÏûÏ¢¸ñʽºÍÐÒé¾ö²ßÔÚ²»Í¬°¸ÀýÖпÉÄÜÒ²»á·¢Éú±ä»¯¡£
Ï£ÍûÕâÆªÎÄÕÂÄܸøÄãһЩÆô·¢£¬ÈÃÄãÖªµÀÈçºÎ¸ø×Ô¼ºµÄ×éÖ¯ÒÔ¼°/»òÕßÍŶӴ´½¨Ò»¸ö×î¼ÑµÄAPIÉè¼Æ·½·¨ÂÛ¡£
|