Restful

寫在前面

  1. 重要學(xué)習(xí)原理
  2. 先看官方文檔剩辟,然后可以搜索博客加以配合

Restful 簡介

全稱REpresentational State Transfer的縮寫灵巧。是基于 WEB標(biāo)準(zhǔn)的軟件架構(gòu),使用HTT協(xié)議處理數(shù)據(jù)通信抹沪。以資源為中心刻肄,其中每個(gè)組成部分都是一個(gè)資源,并且資源通過使用 HTTP 標(biāo)準(zhǔn)方法的公共接口訪問融欧。EST 由 Roy Fielding 在 2000 年首次提出敏弃。

參考

  1. Jersy 官方文檔
  2. jersey+maven構(gòu)建restful服務(wù)--入門篇
  3. 業(yè)余參考 Spring的技術(shù)支持
  4. 它山之石 NodeJs Restful
  5. RESTful API 設(shè)計(jì)最佳實(shí)踐

操作步驟(本次是以jersy為主)

先決條件 安裝好maven

  1. 運(yùn)行mvn下載jersy官方的web app骨架
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
  1. 使用jersey+maven構(gòu)建restful服務(wù)--入門篇樣例

User.java

package com.example;
import java.io.Serializable;
public class User implements Serializable{
    private static final long serialVersionUID = 1L;
    private int id;
    private String name;
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + "]";
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public User() {
        super();
    }
}

RestfulHelloWorld.java

package com.example;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

@Path("/helloworld")
public class RestfulHelloWorld {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayHelloWorld() {
        return "Hello World!";
    }

    @GET
    @Path("/{param}")
    @Produces("text/plain;charset=UTF-8")
    public String sayHello2UserByText(@PathParam("param") String username) {
        return "Hello " + username;
    }

    @GET
    @Path("/get")
    @Produces(MediaType.APPLICATION_JSON)
    public User sayHelloToUserByJson(@QueryParam("username") String username) {
        User user = new User();
        user.setId(1);
        user.setName(username);
        return user;
    }
}

3 .結(jié)果

1.png

記錄:

骨架自帶的web.xml, 骨架配置了掃描包

<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
     see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>Jersey Web Application</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.example</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Jersey Web Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>
</web-app>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市噪馏,隨后出現(xiàn)的幾起案子麦到,更是在濱河造成了極大的恐慌,老刑警劉巖欠肾,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓶颠,死亡現(xiàn)場離奇詭異,居然都是意外死亡刺桃,警方通過查閱死者的電腦和手機(jī)粹淋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人桃移,你說我怎么就攤上這事屋匕。” “怎么了借杰?”我有些...
    開封第一講書人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵过吻,是天一觀的道長。 經(jīng)常有香客問我蔗衡,道長纤虽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任绞惦,我火速辦了婚禮廓推,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘翩隧。我一直安慰自己樊展,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開白布堆生。 她就那樣靜靜地躺著专缠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪淑仆。 梳的紋絲不亂的頭發(fā)上涝婉,一...
    開封第一講書人閱讀 52,584評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音蔗怠,去河邊找鬼墩弯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛寞射,可吹牛的內(nèi)容都是我干的渔工。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼桥温,長吁一口氣:“原來是場噩夢啊……” “哼引矩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起侵浸,我...
    開封第一講書人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤旺韭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后掏觉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體区端,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年澳腹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了织盼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杨何。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖悔政,靈堂內(nèi)的尸體忽然破棺而出晚吞,到底是詐尸還是另有隱情延旧,我是刑警寧澤谋国,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站迁沫,受9級(jí)特大地震影響芦瘾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜集畅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一近弟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挺智,春花似錦祷愉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至媒怯,卻和暖如春订讼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扇苞。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來泰國打工欺殿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鳖敷。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓脖苏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親定踱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子帆阳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,863評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)屋吨,斷路器蜒谤,智...
    卡卡羅2017閱讀 134,714評(píng)論 18 139
  • 下面是維基百科的原文翻譯:Representational state transfer 前言 在計(jì)算機(jī)中,rep...
    Lucky_Micky閱讀 1,678評(píng)論 0 1
  • 2017年10月31日 晴 年頭許下了心愿 每一厘空白唯恐塞不滿 年尾乘坐火箭 迫不及待的要造訪 偶然所得一畝三分...
    鮮栗子閱讀 248評(píng)論 0 1
  • 鯤在變化成鵬之前至扰,在北冥中究竟做了些什么鳍徽。 莊子《逍遙游》中,寫了一條叫做鯤的大魚生活在“北冥”敢课〗准溃“冥”的本義應(yīng)該...
    東豐林波閱讀 2,681評(píng)論 0 1