色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用RESTful Web服務的過程

「Spring」認證安全架構 ? 來源:「Spring」認證安全架構 ? 作者:「Spring」認證安全 ? 2022-09-06 15:47 ? 次閱讀

本指南將引導您完成創建使用#spring# #spring認證# RESTful Web 服務的應用程序的過程。

你將建造什么

您將構建一個應用程序,該應用程序使用 SpringRestTemplate
https://quoters.apps.pcfone.io/api/random檢索隨機 Spring Boot 報價。

你需要什么

  • 約15分鐘
  • 最喜歡的文本編輯器或 IDE
  • JDK 1.8或更高版本
  • Gradle 4+或Maven 3.2+
  • 您還可以將代碼直接導入 IDE:
    • 彈簧工具套件 (STS)
    • IntelliJ IDEA

如何完成本指南

像大多數 Spring入門指南一樣,您可以從頭開始并完成每個步驟,也可以繞過您已經熟悉的基本設置步驟。無論哪種方式,您最終都會得到工作代碼。

從頭開始,請繼續從 Spring Initializr 開始。

跳過基礎知識,請執行以下操作:

  • 下載并解壓縮本指南的源存儲庫,或使用Git克隆它:git clone https://github.com/spring-guides/gs-consuming-rest.git
  • 光盤進入gs-consuming-rest/initial
  • 跳轉到獲取 REST 資源。

完成后,您可以對照中的代碼檢查結果
gs-consuming-rest/complete

從 Spring Initializr 開始

您可以使用這個預先初始化的項目并單擊 Generate 下載 ZIP 文件。此項目配置為適合本教程中的示例。

手動初始化項目:

  1. 導航到https://start.spring.io。該服務提取應用程序所需的所有依賴項,并為您完成大部分設置。
  2. 選擇 Gradle 或 Maven 以及您要使用的語言。本指南假定您選擇了 Java
  3. 單擊Dependencies并選擇Spring Web
  4. 單擊生成
  5. 下載生成的 ZIP 文件,該文件是根據您的選擇配置的 Web 應用程序的存檔。

如果您的 IDE 具有 Spring Initializr 集成,您可以從您的 IDE 完成此過程。

你也可以從 Github 上 fork 項目并在你的 IDE 或其他編輯器中打開它。

獲取 REST 資源

完成項目設置后,您可以創建一個使用 RESTful 服務的簡單應用程序。

一個 RESTful 服務已經在
https://quoters.apps.pcfone.io/api/random建立起來。它隨機獲取有關 Spring Boot 的引用并將它們作為 JSON 文檔返回。

如果您通過 Web 瀏覽器或 curl 請求該 URL,您會收到如下所示的 JSON 文檔:

{
   type: "success",
   value: {
      id: 10,
      quote: "Really loving Spring Boot, makes stand alone Spring apps easy."
   }
}復制

這很容易,但在通過瀏覽器或 curl 獲取時并不是非常有用。

編程方式使用 REST Web 服務的更有用的方法。為了幫助您完成這項任務,Spring 提供了一個方便的模板類,稱為RestTemplate. RestTemplate使與大多數 RESTful 服務的交互成為單行咒語。它甚至可以將該數據綁定到自定義域類型。

首先,您需要創建一個域類來包含您需要的數據。以下清單顯示了Quote可以用作域類的類:

src/main/java/com/example/consumingrest/Quote.java

package com.example.consumingrest;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Quote {

  private String type;
  private Value value;

  public Quote() {
  }

  public String getType() {
    return type;
  }

  public void setType(String type) {
    this.type = type;
  }

  public Value getValue() {
    return value;
  }

  public void setValue(Value value) {
    this.value = value;
  }

  @Override
  public String toString() {
    return "Quote{" +
        "type='" + type + '\'' +
        ", value=" + value +
        '}';
  }
}復制

這個簡單的 Java 類有一些屬性和匹配的 getter 方法。它帶有@JsonIgnoreProperties來自 Jackson JSON 處理庫的注釋,表示任何未綁定在此類型中的屬性都應被忽略。

要將您的數據直接綁定到您的自定義類型,您需要將變量名稱指定為與從 API 返回的 JSON 文檔中的鍵完全相同。如果您的 JSON 文檔中的變量名稱和鍵不匹配,您可以使用@JsonProperty注釋來指定 JSON 文檔的確切鍵。(此示例將每個變量名稱與 JSON 鍵匹配,因此此處不需要該注釋。)

您還需要一個額外的類來嵌入內部引用本身。該類Value滿足了這一需求,并顯示在以下清單 (at
src/main/java/com/example/consumingrest/Value.java) 中:

package com.example.consumingrest;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Value {

  private Long id;
  private String quote;

  public Value() {
  }

  public Long getId() {
    return this.id;
  }

  public String getQuote() {
    return this.quote;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public void setQuote(String quote) {
    this.quote = quote;
  }

  @Override
  public String toString() {
    return "Value{" +
        "id=" + id +
        ", quote='" + quote + '\'' +
        '}';
  }
}復制

這使用相同的注釋,但映射到其他數據字段。

完成申請

Initalizr 創建一個帶有main()方法的類。以下清單顯示了 Initializr 創建的類(at
src/main/java/com/example/consumingrest/ConsumingRestApplication.java):

package com.example.consumingrest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ConsumingRestApplication {

	public static void main(String[] args) {
		SpringApplication.run(ConsumingRestApplication.class, args);
	}

}復制

現在您需要向ConsumingRestApplication該類添加一些其他內容,以使其顯示來自我們 RESTful 源的引用。您需要添加:

  • 一個記錄器,用于將輸出發送到日志(在此示例中為控制臺)。
  • A RestTemplate,它使用 Jackson JSON 處理庫來處理傳入的數據。
  • A在啟動CommandLineRunner時運行RestTemplate(并因此獲取我們的報價)。

以下清單顯示了完成的ConsumingRestApplication類 (at
src/main/java/com/example/consumingrest/ConsumingRestApplication.java):

package com.example.consumingrest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
public class ConsumingRestApplication {

	private static final Logger log = LoggerFactory.getLogger(ConsumingRestApplication.class);

	public static void main(String[] args) {
		SpringApplication.run(ConsumingRestApplication.class, args);
	}

	@Bean
	public RestTemplate restTemplate(RestTemplateBuilder builder) {
		return builder.build();
	}

	@Bean
	public CommandLineRunner run(RestTemplate restTemplate) throws Exception {
		return args -> {
			Quote quote = restTemplate.getForObject(
					"https://quoters.apps.pcfone.io/api/random", Quote.class);
			log.info(quote.toString());
		};
	}
}復制

運行應用程序

您可以使用 Gradle 或 Maven 從命令行運行應用程序。您還可以構建一個包含所有必要依賴項、類和資源的單個可執行 JAR 文件并運行它。構建可執行 jar 可以在整個開發生命周期、跨不同環境等中輕松地作為應用程序交付、版本化和部署服務。

如果您使用 Gradle,則可以使用./gradlew bootRun. 或者,您可以使用構建 JAR 文件./gradlew build,然后運行 ?JAR 文件,如下所示:

java -jar build/libs/gs-sumption-rest-0.1.0.jar

如果您使用 Maven,則可以使用./mvnw spring-boot:run. 或者,您可以使用構建 JAR 文件,./mvnw clean package然后運行該 JAR 文件,如下所示:

java -jar 目標/gs-消費-rest-0.1.0.jar

此處描述的步驟創建了一個可運行的 JAR。您還可以構建經典的 WAR 文件。

您應該看到類似于以下的輸出,但帶有隨機引用:

2019-08-22 14:06:46.506 INFO 42940 --- [main] cecConsumingRestApplication : Quote{type='success', value=Value{id=1

如果您看到顯示為 的錯誤,Could not extract response: no suitable HttpMessageConverter found for response type [class
com.example.consumingrest.Quote]則可能是您處于無法連接到后端服務的環境中(如果您可以訪問它,它將發送 JSON)。也許您是公司代理的幕后黑手。嘗試將http.proxyHost和http.proxyPort系統屬性設置為適合您的環境的值。

概括

恭喜!您剛剛使用 Spring Boot 開發了一個簡單的 REST 客戶端。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1262

    瀏覽量

    69441
  • spring
    +關注

    關注

    0

    文章

    340

    瀏覽量

    14338
  • Restful
    +關注

    關注

    0

    文章

    11

    瀏覽量

    3532
收藏 人收藏

    評論

    相關推薦

    請問LabVIEW通過無線WiFi采集數據 基于restful

    本帖最后由 eehome 于 2013-1-5 09:47 編輯 求助,有沒有兄弟做過相關的項目啊,labview編寫一個程序作為一個web service,基于restful。 需要將采集到
    發表于 03-22 18:08

    編寫restful

    求助,有沒有兄弟做過相關的項目啊,現在寫了一個程序作為一個web service,基于restful。 需要將采集到的數據經過wifi傳輸,數據傳輸想用到restful。有沒有推薦的自帶的re
    發表于 03-22 18:12

    restful api設計規范

    做到Hypermedia,即返回結果中提供鏈接,連向其他API方法,使得用戶不查文檔,也知道下一步應該做什么。以上是Restful API設計應遵循的十大規范,除此之外,Restful API還需注意身份認證應該使用OAuth 2.0框架,
    發表于 03-26 16:26

    什么是restful以及restfulAPI的設計風格?

    如何理解restful架構?什么是restful API ? restful API的設計風格和序列化?restful API之請求與響應 ?
    發表于 11-04 08:25

    如何移植web服務器呢

    ,如何設計后端,之間怎么交互…。網上資料云云,卻都一直挺溜在初級版本中。結合這幾年經驗,后續文章逐步由淺入深介紹整個過程。先列目錄吧:web服務器boa的移植基本的web知識cgi交互
    發表于 11-08 06:41

    在4.3.1版的restful_server示例中找不到npm是怎么回事?

    /../front/web-demo/dist doesn't exit.Please run 'npm run build' inC:/esp-431/ws431/restful_server/main
    發表于 02-17 07:31

    基于擴展VSM的Web服務發現

    在擴展空間向量模型(VSM)的基礎上設計并實現了一種Web服務發現機制。該機制結合Web服務語法和結構信息,利用相似度計算實現Web
    發表于 04-20 08:49 ?27次下載

    基于QoS控制技術的Web服務合成

    現有的Web 服務合成技術很少考慮到QoS 的控制,所以不能滿足Web 服務合成動態的要求。本文結合當前Web
    發表于 08-24 11:57 ?4次下載

    使用IIS為Web內容配置Web服務器權限

      本文分步介紹如何使用 Internet 信息服務 (IIS) 5.0 授予對 Web 內容的 Web 服務器權限。     您可以對
    發表于 08-26 15:33 ?17次下載

    Constrained RESTful Environments (CoRE) Link Format

    Constrained RESTful Environments (CoRE) link Format,受限的RESTful環境鏈路格式
    發表于 11-26 15:23 ?6次下載

    Web服務組合測試綜述

    隨著面向服務技術和云計算技術的不斷成熟,尤其是面向服務體系結構SOA的不斷完善以及推廣,使得其主要內容Web服務已經被廣泛應用.為了充分利用Web
    發表于 12-19 11:02 ?0次下載
    <b class='flag-5'>Web</b><b class='flag-5'>服務</b>組合測試綜述

    Web服務推薦SOA系統

    為解決Web服務決策過程中新增信息多且信息不精確的問題,提出一種基于Web服務推薦的面向服務體系
    發表于 02-24 14:59 ?0次下載
    <b class='flag-5'>Web</b><b class='flag-5'>服務</b>推薦SOA系統

    Web服務組合匹配框架研究

    在現有服務發現方法中,單一考慮原子服務服務組合的方式難以滿足用戶日益增長的需求。針對該問題,設計一個基于模型轉換的Web服務匹配框架。在
    發表于 03-05 13:35 ?0次下載
    <b class='flag-5'>Web</b><b class='flag-5'>服務</b>組合匹配框架研究

    ASP NET MVC和WEB與API的知識點總結

     一、理解WEB API:提供基于RESTful架構的WEB服務,通過HTTP請求方法(GET, PUT, POST, DELETE)映射到服務
    發表于 11-27 16:43 ?13次下載
    ASP NET MVC和<b class='flag-5'>WEB</b>與API的知識點總結

    構建RESTful Web服務過程

    本指南將引導您完成使用 Spring 創建“Hello, World”RESTful Web 服務過程
    的頭像 發表于 09-06 15:47 ?695次閱讀
    主站蜘蛛池模板: 美女18黄| 亚洲精品视频在线播放| 国产午夜精品美女免费大片| 印度老妇女bbbxxx| 色偷偷男人| 男人插女人逼逼| 吉吉影音先锋av资源网| xxxx88| 伊人色综合久久大香| 撕烂衣服扒开胸罩揉爆胸| 伦理片天堂eeuss影院2o12| 国产亚洲精品久久久久久一区二区 | 亚洲欧美日韩精品久久奇米色影视| 内射白嫩少妇超碰| 火影忍者高清无码黄漫| 东北嫖妓对白粗口| 69日本人XXXX护士HD| 亚洲福利精品电影在线观看| 人妻熟妇乱又伦精品视频中文字幕| 久久性综合亚洲精品电影网| 国产麻豆剧看黄在线观看| 扒开老师粉嫩的泬10P| 99er热精品视频国产免费| 月夜直播视频免费观看| 亚洲AV无码专区国产精品99| 午夜男人免费福利视频| 欧美性色xo影院69| 男女边吃奶边做边爱视频| 久久国产乱子伦精品免费M| 国产特级毛片AAAAAAA高清| 囯产精品久久久久久久久蜜桃| 99国产精品久久久久久久日本竹| 在线 自拍 综合 亚洲 欧美| 亚洲精品第一国产综合| 午夜福利小视频400| 特级做A爰片毛片免费69| 色久天| 午夜福利免费体检区| 手机在线观看无码日韩视频| 日韩一区二区三区四区区区| 热の中文 AV天堂|