摘要:一關于架構這詞是在他年的博士論文中提出的。具體的可以看構建實現的例子。基于項目對象模型的概念,可以從中央信息管理項目的構建,報告和文檔。后續會繼續完善和版本的環境的搭建,以及基于容器項目部署。
一、關于RESTful架構
REST這詞是Roy Thomas Fielding在他2000年的博士論文中提出的。他利用REST定義了互聯網軟件的架構原則,即Representational State Transfer縮寫,直譯過來就是“表現層狀態轉化”,如果一個架構符合REST原則,就稱它為RESTful架構。REST所指向的是在互聯網中資源屬性,其指明的是“Resources”的表現層,即概括成就是可以利用REST原則構建API能夠找到獨一無二的“資源實體”,如圖片、音頻、特定的數據等。簡單概述RESTful架構有以下幾個重點:
1.每一個URI代表一種資源; 2.客戶端和服務器之間,傳遞這種資源的某種表現層; 3.客戶端通過四個HTTP動詞(GET、POST、PUT、DELETE)對服務器端資源進行操作,實現“表現層狀態轉化”。 具體的可以看構建實現的例子。二、關于Jersey、Maven
Jersey是JAX-RS(The Java API for RESTful Web Service)標準的參考實現,是Java領域中最純正的REST服務開發框架。
Apache Maven是一款軟件項目管理和理解工具。基于項目對象模型(POM)的概念,Maven可以從中央信息管理項目的構建,報告和文檔。
安裝JDK和Maven時候需要注意的配置環境變量的問題,這其中需要注意的是下載的Maven和Tomcat都是需要時Binary 包,這樣就可以直接解壓后就可以直接運行無需編譯:
可以利用vim ~/.bash_profile來配置JDK和Maven的環境變量PATH,配置完成后執行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命令看,系統是否識別如下圖:
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
這樣就已經把剛才構建基于maven所構建的Jersey RESTful Web Service的war就已經同mvn構建好了
如下圖
在Apache Tomcat下載Binary的包后,通過Terminal終端進入Tomcat的bin目錄下
bash startup.sh
如此便是已經將web service部署到了Tomcat中了,并且已經發布了
這樣就可以通過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/
這樣就可以開始項目具體業務的開發了。
后續會繼續完善Windows和Linux版本的環境的搭建,以及基于Docker容器項目部署。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71170.html
摘要:當不存在子類,也不存在子類時,規范中定義,在這種情況下,為服務動態生成一個名為的實例,并自動探測匹配資源。其中是中的基類,它繼承于情況二當不存在子類,但是存在子類時。以上就是規范中定義的四種服務的方式。 最近在學習 jersey 框架。他是 目前比較流行的 基于 JAX-RS 2.0 規范實現的 RESTful 框架。 我是跟著 《Java RESTful Web Service 實...
摘要:的官方文檔中將調用的入口稱作,而在的示例代碼中將其命名為,其實指的是同一個東西。其次是類至此,一個文件上傳的服務端接口已經編寫完成。 前言 SpringBoot的官方文檔中關于Jersey的介紹并不是很全面: 27.3 JAX-RS and Jersey,SpringBoot-Sample項目里面也只有非常基礎的代碼,對于一些復雜的常用需求,這個文檔給不了任何幫助。 為了使用Jerse...
摘要:日期和時間處理日期和時間的函數庫。使用中可觀察序列,創建異步基于事件應用程序的函數庫。為分布式系統提供延遲和容錯處理。發布使用本機格式分發應用程序的工具。將程序資源和打包成和的本機文件。圖像處理用來幫助創建評估或操作圖形的函數庫。 好資源要分享原文 譯者 唐尤華 翻譯自 github akullpp 構建 這里搜集了用來構建應用程序的工具。 Apache Maven:Mave...
摘要:開始介紹簡化了基于的應用開發,你只需要就能創建一個獨立的,產品級別的應用。該包含很多搭建,快速運行項目所需的依賴,并提供一致的,可管理傳遞性的依賴集。日志級別通過標識開啟控制臺級別日志記錄,也可以在中指定日志級別配置示例 開始 介紹 Spring Boot 簡化了基于 Spring 的應用開發,你只需要 run 就能創建一個獨立的,產品級別的 Spring 應用。 Spring 平臺...
摘要:構建系統強烈建議你選擇一個支持依賴管理的構建系統,并且可以使用發布到中心存儲庫的工件。例如,要升級到另一個,你可以將以下元素添加到你的在前面的示例中,我們指定了一個,但是任何依賴類型都可以以相同的方式被覆蓋。 13. 構建系統 強烈建議你選擇一個支持依賴管理的構建系統,并且可以使用發布到Maven中心存儲庫的工件。我們建議你選擇Maven或Gradle,可以讓Spring Boot與其...
閱讀 1436·2021-09-02 19:23
閱讀 1586·2021-08-11 11:19
閱讀 641·2019-08-30 15:55
閱讀 1652·2019-08-30 12:50
閱讀 2241·2019-08-30 11:23
閱讀 2180·2019-08-29 13:13
閱讀 1500·2019-08-28 18:13
閱讀 3344·2019-08-26 11:53