自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaOne 2013:將REST與JSON相結(jié)合以創(chuàng)建API

譯文
開發(fā) 后端
Stormpath公司首席技術(shù)官Les Hazlewood在JavaOne 2013大會上表示。為了順應(yīng)與會觀眾們的強烈呼聲,Hazlewood于本周二重返JavaOne舞臺、向大家介紹了如何利用JAX-RS與Jersey創(chuàng)建優(yōu)秀的REST + JSON API。

創(chuàng)建一套可通過Web進行訪問的應(yīng)用程序編程接口并不困難,但打造一套既運作良好又穩(wěn)定可靠的API卻沒那么容易,Stormpath公司首席技術(shù)官Les Hazlewood在JavaOne 2013大會上表示。為了順應(yīng)與會觀眾們的強烈呼聲,Hazlewood于本周二重返JavaOne舞臺、向大家介紹了如何利用JAX-RS與Jersey創(chuàng)建優(yōu)秀的REST + JSON API。

“一款出色的具象狀態(tài)傳輸(簡稱REST)API從表面上看應(yīng)該很簡單,即使其后端機制實際相當(dāng)復(fù)雜,”Hazlewood在介紹環(huán)節(jié)之前的記者采訪中指出。如果一款A(yù)PI的專注重點在于收集信息并為各條信息提供各自獨立的代表,那么只要削減API中的收集及搜索機制(而非羅列所有已經(jīng)采用的對象),我們就能獲得一款簡潔而出色的方案,直觀而絕不復(fù)雜。

[[87259]]

Les Hazlewood

在問答環(huán)節(jié)中,Hazlewood深入探討了API最佳實踐、REST API的優(yōu)勢與劣勢以及JavaScript Object Natation(簡稱JSON)等話題。

為什么Java開發(fā)人員樂于嘗試REST API?

Les Hazlewood: REST是一套以現(xiàn)有HTTP為基礎(chǔ)建立起來的架構(gòu)風(fēng)格。在HTTP規(guī)范當(dāng)中,我們交換數(shù)據(jù)以及創(chuàng)建、讀取、更新與刪除數(shù)據(jù)的方式已經(jīng)被確定下來。在互不相干的設(shè)備中創(chuàng)建即讀即刪信息時,REST能夠負(fù)責(zé)決定特定情況該如何處理。

這正是REST的主要作用;負(fù)責(zé)此類操作在互不相干的設(shè)備間執(zhí)行時該如何處理。由于REST以HTTP為基礎(chǔ),因此我們可以在Linux設(shè)備、Windows設(shè)備與蘋果Mac設(shè)備之間進行通信??傊?,REST無需局限于特定平臺或者供應(yīng)商類型——由于HTTP無處不在,因此REST也能夠廣泛起效。所有編程語言,包括Python、PHP、Java以及C#,都能夠與REST并行協(xié)作。

從各個方面來說,REST往往由于自身的迷惑性而被看得過于簡單。每個人都自認(rèn)為了解HTTP,因為這正是Web瀏覽器的表面方式。技術(shù)人員了解HTTP協(xié)議、GIT以及POST,因為他們已經(jīng)以Web形式與之接觸多年。而由于REST使用HTTP協(xié)議,開發(fā)人員會習(xí)慣性地低估其實際復(fù)雜性。事實上,如今的REST服務(wù)已經(jīng)遠(yuǎn)遠(yuǎn)超過XML(過去一直搭配SOAP,即簡單對象訪問協(xié)議)的范疇。

使用REST會遇上哪些難點?

Hazlewood:這正是我來到這里向大家進行介紹的原因。REST是一種架構(gòu)風(fēng)格,但其使用方法還缺乏正式的標(biāo)準(zhǔn)或者規(guī)范。要了解這種風(fēng)格,我們需要為其添加注釋,否則不同使用者對于功能的理解與效果會出現(xiàn)一定程度的偏差。這是因為REST并非一套能夠在設(shè)備之間直接照搬的規(guī)范,而且人為因素的介入也會引發(fā)歧義。在這樣的情況下,要正確或者輕松使用REST將變得充滿困難。REST與JSON都很簡單,HTTP也很簡單,但在將這幾種機制結(jié)合起以解決特定問題時,大家會發(fā)現(xiàn)自己很難找到既定的成熟指導(dǎo)。

您在JavaOne介紹環(huán)節(jié)中建議將JSON與REST相結(jié)合,還有其它什么理由嗎?

Hazlewood: REST與JSON提供了更為人性化的數(shù)據(jù)表示方式;數(shù)據(jù)看起來不再像XML格式那樣擁擠;更便于我們直接用肉眼查看。而這正是JSON被廣泛采用的真正原因。

JSON是一種語法規(guī)則。簡單概括,它的內(nèi)容就是字符串、數(shù)字、空、非空。它允許大家以非常簡單的格式通過少量元數(shù)據(jù)表示復(fù)雜的情況。我們能夠輕松將其使用在多種不同環(huán)境之下。它易于機器解析,也同樣適合人們直接閱讀。

JavaScript是目前世界上最具影響力的重要編程語言之一。即使是在主要由Java、Python或者C#編寫的應(yīng)用程序中,一旦涉及網(wǎng)頁或者直觀用戶界面,那么出場解圍的也必然是JavaScript。JSON與JavaScript完全兼容,任何擁有JavaScript編程經(jīng)驗的技術(shù)人員都能輕松掌握J(rèn)SON。如果大家已經(jīng)跟JavaScript打過交道,那么將其與API相整合也絕非難事。如果API返回JSON且大家已經(jīng)利用JavaScript編寫代碼,那么編程語言本身就會了解如何闡釋來自服務(wù)器的數(shù)據(jù)。JSON借助人氣極盛的JavaScript處理數(shù)據(jù)交換(而不僅是寫入軟件)任務(wù)。

何時適合使用JSON,何時不適合?

Hazlewood:很顯然,XML在數(shù)據(jù)復(fù)制架構(gòu)方面的表現(xiàn)更出色。XML文檔中包含的信息更豐富,而且其中的數(shù)據(jù)類型劃分也更為高效。XML非常適合處理數(shù)據(jù)交換任務(wù),但糟糕的易用性往往令開發(fā)人員望而卻步。JSON內(nèi)容適合直接閱讀,XML在設(shè)計方面則更為復(fù)雜。JSON的語法簡單易懂。說起語言設(shè)計,JSON中的核心元素非常有限,全部開發(fā)成果都以此為基礎(chǔ)。由于其出色的簡單特性,我們能夠輕松對其加以操控及理解。不過在設(shè)備消耗信息方面,JSON的表現(xiàn)遠(yuǎn)不如XML。XML更適合設(shè)備直接處理。
 

原文鏈接:http://searchsoa.techtarget.com/news/2240205998/JavaOne-2013-Pairing-REST-and-JSON

責(zé)任編輯:陳四芳 來源: 51cto
相關(guān)推薦

2022-10-08 00:35:48

gRPCGuice服務(wù)器

2021-12-13 19:40:53

物聯(lián)網(wǎng)數(shù)據(jù)分析IOT

2016-06-12 16:54:58

物聯(lián)網(wǎng)智能制造PTC

2020-11-13 09:05:43

物聯(lián)網(wǎng)網(wǎng)絡(luò)安全物聯(lián)網(wǎng)安全

2012-04-11 13:44:45

ibmdw

2011-05-04 09:32:16

2021-02-26 10:24:49

機器學(xué)習(xí)人工智能程序

2021-10-19 05:57:34

人工智能芯片藥物開發(fā)

2017-08-22 15:35:12

2025-02-27 12:07:46

2022-05-23 14:45:49

元宇宙AR

2021-01-06 10:58:45

物聯(lián)網(wǎng)技術(shù)物聯(lián)網(wǎng)IOT

2009-12-28 14:00:46

2023-05-11 12:40:00

Spring控制器HTTP

2021-12-24 14:23:22

首席信息安全官CISO網(wǎng)絡(luò)安全

2017-12-19 15:01:53

AI大數(shù)據(jù)現(xiàn)代教育

2024-01-12 10:24:07

NVIDIA

2018-04-26 08:48:43

Oracle Java框架

2023-08-14 09:00:00

APIgRPCREST

2019-12-17 16:14:24

機器學(xué)習(xí)設(shè)計算法
點贊
收藏

51CTO技術(shù)棧公眾號