摘要:一關(guān)于架構(gòu)這詞是在他年的博士論文中提出的。具體的可以看構(gòu)建實現(xiàn)的例子?;陧椖繉ο竽P偷母拍?,可以從中央信息管理項目的構(gòu)建,報告和文檔。后續(xù)會繼續(xù)完善和版本的環(huán)境的搭建,以及基于容器項目部署。
一、關(guān)于RESTful架構(gòu)
REST這詞是Roy Thomas Fielding在他2000年的博士論文中提出的。他利用REST定義了互聯(lián)網(wǎng)軟件的架構(gòu)原則,即Representational State Transfer縮寫,直譯過來就是“表現(xiàn)層狀態(tài)轉(zhuǎn)化”,如果一個架構(gòu)符合REST原則,就稱它為RESTful架構(gòu)。REST所指向的是在互聯(lián)網(wǎng)中資源屬性,其指明的是“Resources”的表現(xiàn)層,即概括成就是可以利用REST原則構(gòu)建API能夠找到獨一無二的“資源實體”,如圖片、音頻、特定的數(shù)據(jù)等。簡單概述RESTful架構(gòu)有以下幾個重點:
1.每一個URI代表一種資源; 2.客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層; 3.客戶端通過四個HTTP動詞(GET、POST、PUT、DELETE)對服務(wù)器端資源進(jìn)行操作,實現(xiàn)“表現(xiàn)層狀態(tài)轉(zhuǎn)化”。 具體的可以看構(gòu)建實現(xiàn)的例子。二、關(guān)于Jersey、Maven
Jersey是JAX-RS(The Java API for RESTful Web Service)標(biāo)準(zhǔn)的參考實現(xiàn),是Java領(lǐng)域中最純正的REST服務(wù)開發(fā)框架。
Apache Maven是一款軟件項目管理和理解工具?;陧椖繉ο竽P停≒OM)的概念,Maven可以從中央信息管理項目的構(gòu)建,報告和文檔。
安裝JDK和Maven時候需要注意的配置環(huán)境變量的問題,這其中需要注意的是下載的Maven和Tomcat都是需要時Binary 包,這樣就可以直接解壓后就可以直接運行無需編譯:
可以利用vim ~/.bash_profile來配置JDK和Maven的環(huán)境變量PATH,配置完成后執(zhí)行source ~./bash_profile來讓配置文件生效
#JDK JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home PATH=$JAVA_HOME/bin:$PATH:. CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. export JAVA_HOME export PATH export CLASSPATH #Maven export M2_HOME=/Users/bing/apache-maven-3.5.22 export PATH=$PATH:$M2_HOME/bin
驗證是否配置好,可以在terminal上面輸入mvn -v命令看,系統(tǒng)是否識別如下圖:
sudo mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-webapp -DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false -DgroupId=com.example -DartifactId=simple-service-webapp -Dpackage=com.example -DarchetypeVersion=2.26
cd simple-service-webapp sudo mvn clean package
這樣就已經(jīng)把剛才構(gòu)建基于maven所構(gòu)建的Jersey RESTful Web Service的war就已經(jīng)同mvn構(gòu)建好了
如下圖
在Apache Tomcat下載Binary的包后,通過Terminal終端進(jìn)入Tomcat的bin目錄下
bash startup.sh
如此便是已經(jīng)將web service部署到了Tomcat中了,并且已經(jīng)發(fā)布了
這樣就可以通過URI來訪問我們的項目資源,如在原來的項目中所需要留意的兩個地方是,第一個是webapp文件夾下web.xml,如下圖
Jersey Web Application org.glassfish.jersey.servlet.ServletContainer jersey.config.server.provider.packages com.example 1 Jersey Web Application /webapi/*
其中的
第二個是項目中具體的java類所定義接口的中path路徑,在此項目中就是MyResource.java
@Path("myresource") public class MyResource { /** * Method handling HTTP GET requests. The returned object will be sent * to the client as "text/plain" media type. * * @return String that will be returned as a text/plain response. */ @GET @Produces(MediaType.TEXT_PLAIN) public String getIt() { return "Got it!"; } }
所以上手的樣例所要訪問的URI是:
http://localhost:8080/simple-service-webapp/webapi/myresource/
這樣就可以開始項目具體業(yè)務(wù)的開發(fā)了。
后續(xù)會繼續(xù)完善Windows和Linux版本的環(huán)境的搭建,以及基于Docker容器項目部署。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71170.html
摘要:當(dāng)不存在子類,也不存在子類時,規(guī)范中定義,在這種情況下,為服務(wù)動態(tài)生成一個名為的實例,并自動探測匹配資源。其中是中的基類,它繼承于情況二當(dāng)不存在子類,但是存在子類時。以上就是規(guī)范中定義的四種服務(wù)的方式。 最近在學(xué)習(xí) jersey 框架。他是 目前比較流行的 基于 JAX-RS 2.0 規(guī)范實現(xiàn)的 RESTful 框架。 我是跟著 《Java RESTful Web Service 實...
摘要:的官方文檔中將調(diào)用的入口稱作,而在的示例代碼中將其命名為,其實指的是同一個東西。其次是類至此,一個文件上傳的服務(wù)端接口已經(jīng)編寫完成。 前言 SpringBoot的官方文檔中關(guān)于Jersey的介紹并不是很全面: 27.3 JAX-RS and Jersey,SpringBoot-Sample項目里面也只有非?;A(chǔ)的代碼,對于一些復(fù)雜的常用需求,這個文檔給不了任何幫助。 為了使用Jerse...
摘要:日期和時間處理日期和時間的函數(shù)庫。使用中可觀察序列,創(chuàng)建異步基于事件應(yīng)用程序的函數(shù)庫。為分布式系統(tǒng)提供延遲和容錯處理。發(fā)布使用本機(jī)格式分發(fā)應(yīng)用程序的工具。將程序資源和打包成和的本機(jī)文件。圖像處理用來幫助創(chuàng)建評估或操作圖形的函數(shù)庫。 好資源要分享原文 譯者 唐尤華 翻譯自 github akullpp 構(gòu)建 這里搜集了用來構(gòu)建應(yīng)用程序的工具。 Apache Maven:Mave...
摘要:開始介紹簡化了基于的應(yīng)用開發(fā),你只需要就能創(chuàng)建一個獨立的,產(chǎn)品級別的應(yīng)用。該包含很多搭建,快速運行項目所需的依賴,并提供一致的,可管理傳遞性的依賴集。日志級別通過標(biāo)識開啟控制臺級別日志記錄,也可以在中指定日志級別配置示例 開始 介紹 Spring Boot 簡化了基于 Spring 的應(yīng)用開發(fā),你只需要 run 就能創(chuàng)建一個獨立的,產(chǎn)品級別的 Spring 應(yīng)用。 Spring 平臺...
摘要:構(gòu)建系統(tǒng)強烈建議你選擇一個支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到中心存儲庫的工件。例如,要升級到另一個,你可以將以下元素添加到你的在前面的示例中,我們指定了一個,但是任何依賴類型都可以以相同的方式被覆蓋。 13. 構(gòu)建系統(tǒng) 強烈建議你選擇一個支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到Maven中心存儲庫的工件。我們建議你選擇Maven或Gradle,可以讓Spring Boot與其...
閱讀 1458·2021-09-02 19:23
閱讀 1607·2021-08-11 11:19
閱讀 652·2019-08-30 15:55
閱讀 1663·2019-08-30 12:50
閱讀 2252·2019-08-30 11:23
閱讀 2191·2019-08-29 13:13
閱讀 1511·2019-08-28 18:13
閱讀 3350·2019-08-26 11:53