国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Laravel 的高效 API 交互和使用:初學(xué)者指南

簡(jiǎn)介

Laravel是一種流行的PHP框架,用于開發(fā)和構(gòu)建Web應(yīng)用程序和API。作為一個(gè)開發(fā)者,總有一天你需要?jiǎng)?chuàng)建自己的API,或者消費(fèi)一個(gè)外部API,并與之交互。這是一個(gè)你不能逃避的階段,因此作為L(zhǎng)aravel開發(fā)者,我們需要了解如何消費(fèi)和與API進(jìn)行交互。

API是Application Programming Interface的縮寫,它可以實(shí)現(xiàn)很多強(qiáng)大的功能,這也是開發(fā)者接受它的原因之一。

那么,不浪費(fèi)太多時(shí)間,我們直接進(jìn)入本教程。

前提條件

創(chuàng)建和交互API的先決條件如下:

  • PHP:確保你了解PHP并且精通面向?qū)ο缶幊蹋∣OP)。Laravel是一個(gè)基于PHP的框架,所以你需要在系統(tǒng)上安裝PHP。注意:你的系統(tǒng)上應(yīng)安裝PHP版本大于7.8。

  • Composer:Composer是一個(gè)PHP的依賴管理工具。它用于管理和安裝Laravel需要的依賴項(xiàng)。你的電腦上必須設(shè)置好Composer。

  • Web服務(wù)器:為了提供Laravel應(yīng)用程序,你需要一個(gè)像Xampp或Wamp服務(wù)器這樣的Web服務(wù)器。這兩個(gè)服務(wù)器都支持使用MySQL數(shù)據(jù)庫(kù)。

滿足這些要求后,你就可以繼續(xù)使用Laravel交互API了:
現(xiàn)在你準(zhǔn)備好開始了!

分步流程:使用 Laravel 交互和使用 API

要使用 Laravel 進(jìn)行交互和使用 API,我將在下面向您展示兩個(gè)步驟:
使用 API 的兩個(gè)步驟**

第一步是使用免費(fèi)的 API,使用 來(lái)routes/web.php交互和使用 API。以下是實(shí)現(xiàn)這一目標(biāo)的步驟。

步驟1:安裝 Laravel

  • 打開終端并運(yùn)行以下命令來(lái)創(chuàng)建新的 Laravel 項(xiàng)目:

  • 作曲家創(chuàng)建項(xiàng)目 --prefer-dist laravel/laravel my-API-project

  • 切換到項(xiàng)目目錄:

  • cd my-api-項(xiàng)目

步驟2:獲取API

為了這個(gè)項(xiàng)目,我們將使用我從Free API *****獲取的免費(fèi)API,你可以從那里或任何其他免費(fèi)API網(wǎng)站獲得你自己的API。我們將使用一個(gè)隨機(jī)笑話API。

(Free API:https://apipheny.io/free-api/)(隨機(jī)笑話API:https://official-joke-api.appspot.com/random_joke)

步驟3:訪問(wèn)web.php

訪問(wèn)您剛創(chuàng)建的項(xiàng)目中的routes/web.php:

  • 訪問(wèn)您routes/web.php剛剛創(chuàng)建的項(xiàng)目:

  • 使用創(chuàng)建視圖來(lái)Route::get()交互和使用 API。我們將使用

下面是您將在routes/web.php中編碼的代碼片段:

<?php
    use Illuminate\Support\Facades\Route;
    use Illuminate\Support\Facades\Http;

    Route::get('/', function(){
      $response = Http::get('https://official-joke-api.appspot.com/random_joke');
      $data = $response->json();

       return view('welcome', 
        ["type" => $data['type']],
        ["setup"=> $data['setup']],
        );
    });

總之,此代碼定義了一條路由,在訪問(wèn)該路由時(shí),請(qǐng)求 API 獲取隨機(jī)笑話。然后,它呈現(xiàn)一個(gè)名為“welcome”的視圖,并將檢索到的笑話數(shù)據(jù)傳遞給創(chuàng)意以進(jìn)行顯示或進(jìn)一步處理。請(qǐng)注意,API 返回可擴(kuò)展標(biāo)記語(yǔ)言 (XML) 或 JavaScript 對(duì)象表示法 (JSON)。

步驟四:在您的視圖中顯示 API

現(xiàn)在查看這個(gè) API,我的觀點(diǎn)是**welcome.blade.php**我們將在 HTML 標(biāo)記中回顯 API 的值,它將在瀏覽器上顯示 API 的資源。讓我們舉一個(gè)例子來(lái)說(shuō)明我所說(shuō)的內(nèi)容,而不浪費(fèi)您太多時(shí)間。
下面**views/welcome.blade.php**是以下代碼片段,用于輸出我們之前在**routes/web.php**文件中編寫的內(nèi)容。我們使用**{{ }}**語(yǔ)法在生成的 HTML 中輸出變量的值。

<!DOCTYPE html>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width, initial-scale=1">

            <title>API</title>

            <!-- Fonts -->
            <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
            <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet">

        </head>
          <body>

            <div class="container my-3">
              <div class="row justify-content-center">
                <div>
                  <div class="card shadow" style="width: 18rem;">
                    <div>
                      <h3 class="fw-bold text-uppercase">{{ $type }}</h3>
                      <p class="card-text lead text-muted">{{ $setup }}</p>
                    </div>
                  </div>
                </div>
              </div>

            </div>
          </div>
          <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
        </body>
    </html>

注意:在上面的代碼片段中,我們使用 Bootstrap 5 來(lái)獲得更好的視圖,每當(dāng)您在瀏覽器中刷新頁(yè)面時(shí),輸出都會(huì)發(fā)生變化。下面是我們所做的事情。

Html代碼視圖

第二種方法是通過(guò)密鑰使用 API**app\Http\controllers\**來(lái)交互和使用 API。以下是實(shí)現(xiàn)這一目標(biāo)的步驟。

首先,訪問(wèn)**routes/web.php**


  • 創(chuàng)建一條路線,將您帶到所需的控制器。

訪問(wèn) web.php 文件后,您將編寫一行代碼,該代碼將同時(shí)與控制器和 API 進(jìn)行交互。
下面是您將在您的代碼中編寫的代碼片段**routes/web.php**

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ConsumeController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| 您可以在此處為您的應(yīng)用程序注冊(cè)網(wǎng)絡(luò)路由。 這些
| 路由由 RouteServiceProvider 加載,所有路由都會(huì)
| 被分配到“web”中間件組。 做一些偉大的事情!
|
*/

Route::get('/consume', [ConsumeController::class,'index']);

上面的代碼代碼片段是按照我的方式命名的,因此您可以自由地使用您的命名約定。
為了制作你的控制器,你需要寫:

php artisan make:controller ConsumeController

然后訪問(wèn)**app\http\controllers\ConsumeController**您的文件夾目錄,然后您將看到一個(gè)名為的文件,**ConsumeController.php**打開該文件您將看到這樣的代碼片段。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ConsumeController extends Controller
{
    //
}

因?yàn)槲覀儗⒃谶@個(gè)控制器中與 API 進(jìn)行交互,所以我們需要做的是在上面添加一些代碼片段。我們將在上面添加的代碼片段是代碼,它將允許我們?cè)诖a中使用命名空間Http中的類。 下面是放置在類控制器名稱之前的代碼片段。Illuminate\Support\Facades

<?php
use Illuminate\Support\Facades\Http;

//到目前為止,您的代碼如下所示

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class ConsumeController extends Controller
{
    //
}

其次,您將創(chuàng)建一個(gè)包含所有 API 交互的函數(shù)。在這種情況下,我們將使用**index**命名約定來(lái)命名我們的流程。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class ConsumeController extends Controller
{
    public function index(){
        //   
    }
}

現(xiàn)在,接下來(lái)要做的就是獲取 API 和 API 密鑰并將它們存儲(chǔ)在變量中。
我們的變量的名稱是**$apiKey**,**$apiUrl**下面是如何將 API 存儲(chǔ)在變量中。

$apiKey = 'test_tf5WlMc5yVwKWk6dsQoeS4Qmz9mCkk8rZVnzCjjZ';
$apiUrl = 'https://api.nettoolkit.com/v1/account/test-api-keys';

將 API 存儲(chǔ)在變量中的主要目的是讓您能夠單獨(dú)調(diào)用。
我們將獲取 API 的 HTTP,它的作用是讓您能夠從 Laravel 項(xiàng)目鏈接到指定的 API 和 apiKey。
下面是我不久前解釋過(guò)的一個(gè)例子!

$response = Http::get($apiUrl, [
    'api_key' => $apiKey,
    // Add other parameters as needed
]);

我們將**HTTP**類保存在一個(gè)名為的變量中**$reponse**,因此我們想要獲取存儲(chǔ) API 的變量。
拿到之后我們就做這樣的事情吧!

$data = $reponse->json();

這意味著來(lái)自 HTTP 的結(jié)構(gòu)化數(shù)據(jù)**$response**被分配給此代碼中的變量**$data**,并且 JSON 格式被轉(zhuǎn)換并處理為有用的對(duì)象或數(shù)組以進(jìn)行進(jìn)一步的操作和處理。
然后我們重定向到我們想要 API 顯示的位置,在我們的例子中,下面的 * **` view/consume.blade.php關(guān)鍵字*` 就是一個(gè)示例。 to redirect to this page by using the return

return view('consume', ['data' => $data]);

我們?cè)诒竟?jié)中討論的只是整個(gè)控制器,決定一點(diǎn)一點(diǎn)地打破它。
下面是代碼片段。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class ContentController extends Controller
{
    public function index() {
        $apiKey = 'test_tf5WlMc5yVwKWk6dsQoeS4Qmz9mCkk8rZVnzCjjZ';
        $apiUrl = 'https://api.nettoolkit.com/v1/account/test-api-keys';
        $response = Http::get($apiUrl, [
            'api_key' => $apiKey,
            // 根據(jù)需要添加其他參數(shù)
        ]);
        $data = $response->json();
        return view('consume', ['data' => $data]);
    }
}

運(yùn)行此代碼后,您將轉(zhuǎn)到視圖并查找內(nèi)部,**consume.blade.php**添加下面的代碼片段以便能夠在瀏覽器中查看某些內(nèi)容。

<h1>API Data:</h1>
<pre>
    {{ json_encode($data, JSON_PRETTY_PRINT) }}
</pre>

完成上述任務(wù)后,刷新頁(yè)面,您將在屏幕上看到以下內(nèi)容。

ConsumeController API 的輸出

我們將更多地討論 API 的座位緊張。

常問(wèn)問(wèn)題

什么是 Laravel API?

當(dāng)我們談?wù)摃r(shí),Laravel API,我們粗略地談?wù)?Laravel 框架提供的 API(軟件編程接口)改進(jìn)工具。允許外部程序和 Laravel 軟件之間交互的一組路由和策略在 Laravel 上下文中稱為 API。

什么是 RESTFUL API?

稱為 RESTful API(代表性狀態(tài)切換 API)的架構(gòu)布局方法用于創(chuàng)建網(wǎng)絡(luò)程序。它是一種創(chuàng)建遵循特定建議和邊界的 Web 產(chǎn)品的方法,從而產(chǎn)生可擴(kuò)展、無(wú)狀態(tài)且易于應(yīng)用的 Web 產(chǎn)品。資產(chǎn)是 API 可以訪問(wèn)的事物或?qū)嶓w,是RESTful API 的基礎(chǔ)。

RESTful API 很受歡迎,因?yàn)樗鼈儜?yīng)用起來(lái)很流暢、可擴(kuò)展并且適用于許多客戶端。它們現(xiàn)在充當(dāng)創(chuàng)建網(wǎng)絡(luò)產(chǎn)品的事實(shí)上的企業(yè)總管,允許跨不同系統(tǒng)和操作系統(tǒng)的兼容性。

JSON 和 XML 有什么區(qū)別?

盡管 XML 和 JSON 都是常用的數(shù)據(jù)傳輸編解碼器,但它們?cè)谡Z(yǔ)法和功能方面存在差異。JSON 是一種 JavaScript 項(xiàng)目符號(hào) XML 是一種可擴(kuò)展標(biāo)記語(yǔ)言。

請(qǐng)注意:存在大量的變化,但是,我們只會(huì)說(shuō)其中的一些。

接下來(lái)是 JSON 和 XML 之間的主要區(qū)別: 

  • 清晰度: JSON 具有與 JavaScript 項(xiàng)目一樣干凈且可識(shí)別的形狀,因此對(duì)于人類來(lái)說(shuō)識(shí)別起來(lái)不太復(fù)雜。由于其基于標(biāo)簽的結(jié)構(gòu),XML 有時(shí)會(huì)變得更加冗長(zhǎng)和復(fù)雜,從而使其更難以閱讀。

  • 統(tǒng)計(jì)類型:** JSON 僅支持一小部分統(tǒng)計(jì)類型,包括字符串、數(shù)字、布爾值、數(shù)組、對(duì)象和空值。默認(rèn)情況下,XML 將所有信息轉(zhuǎn)換為文本,并且需要顯式類型定義。

結(jié)論

最后,我們到了本教程的結(jié)尾。希望您能夠從中獲取大量?jī)r(jià)值。簡(jiǎn)而言之,我們已經(jīng)了解了如何設(shè)置 Laravel 項(xiàng)目并與 API 交互。

筆記!Laravel 提供了一個(gè)強(qiáng)大的框架來(lái)創(chuàng)建 API 并與之交互,為開發(fā)人員提供了一種無(wú)縫且高效的方式來(lái)構(gòu)建強(qiáng)大的 Web 應(yīng)用程序。

憑借其全面的功能和直觀的語(yǔ)法,Laravel 簡(jiǎn)化了設(shè)計(jì)、實(shí)現(xiàn)和管理 API 的過(guò)程。使用 Laravel,開發(fā)人員可以輕松創(chuàng)建 API 路由、定義控制器并處理 HTTP 請(qǐng)求和響應(yīng)。

該框架的內(nèi)置身份驗(yàn)證和授權(quán)機(jī)制可確保對(duì) API 端點(diǎn)的安全訪問(wèn),從而使開發(fā)人員能夠?qū)τ脩魴?quán)限進(jìn)行細(xì)粒度控制。

Laravel 的高效 API 交互和使用:初學(xué)者指南文章來(lái)源地址http://www.zghlxwxcb.cn/article/394.html

到此這篇關(guān)于Laravel 的高效 API 交互和使用:初學(xué)者指南的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

原文地址:http://www.zghlxwxcb.cn/article/394.html

如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)聯(lián)系站長(zhǎng)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 初學(xué)者的HTML5 Geolocation API入門指南!

    文章導(dǎo)讀:AI 輔助學(xué)習(xí)前端,包含入門、進(jìn)階、高級(jí)部分前端系列內(nèi)容,當(dāng)前是 HTML 的部分,瑤琴會(huì)持續(xù)更新,適合零基礎(chǔ)的朋友,已有前端工作經(jīng)驗(yàn)的可以不看,也可以當(dāng)作基礎(chǔ)知識(shí)回顧。 HTML5 提供了一個(gè) Geolocation API,在平時(shí)的開發(fā)過(guò)程中,常使用 Geolocation API 獲取用戶設(shè)

    2024年04月28日
    瀏覽(34)
  • Spark初學(xué)者指南:使用指南和示例

    本文介紹了如何使用Spark處理大規(guī)模數(shù)據(jù)集,并提供了一個(gè)Scala編寫的Word Count示例,指導(dǎo)您從安裝和配置到編寫和運(yùn)行Spark應(yīng)用程序。無(wú)需擔(dān)心,即使您是Spark初學(xué)者,也可以按照本文的步驟來(lái)學(xué)習(xí)和使用Spark。 Spark是一個(gè)流行的分布式計(jì)算框架,用于處理大規(guī)模數(shù)據(jù)集。它使

    2024年02月06日
    瀏覽(34)
  • 在 Android 中使用 C/C++:初學(xué)者綜合指南

    在 Android 中使用 C/C++:初學(xué)者綜合指南

    Java 作為一種編程語(yǔ)言,具有許多良好的功能,使其成為應(yīng)用程序開發(fā)的首選語(yǔ)言。它獨(dú)立于平臺(tái)(因?yàn)樘摂M機(jī)執(zhí)行)、JIT 編譯、多線程支持以及為程序員提供的富有表現(xiàn)力的簡(jiǎn)單語(yǔ)法。由于其與平臺(tái)無(wú)關(guān)的特性,Java 包可以跨 CPU 架構(gòu)移植,這使得庫(kù)開發(fā)變得更加容易,從而

    2024年03月13日
    瀏覽(29)
  • 使用 GitHub Copilot 進(jìn)行 Prompt Engineering 的初學(xué)者指南(譯)

    使用 GitHub Copilot 進(jìn)行 Prompt Engineering 的初學(xué)者指南(譯)

    當(dāng)我開始使用 GitHub Copilot 和其他生成式的 AI tools。我感覺(jué)到沮喪,因?yàn)槲覜](méi)有收到預(yù)期的結(jié)果。人們是如何感覺(jué)這些工具如此成功的?為什么 AI 工具沒(méi)有按照我的意愿行事?例如,我讓 GitHub Copilot 為我去解決 LeetCode 問(wèn)題。GitHub Copilot 圖標(biāo)會(huì)旋轉(zhuǎn)一表示它正在思考,然后我會(huì)

    2024年02月14日
    瀏覽(30)
  • 使用 QLoRA 進(jìn)行微調(diào)Llama 2 和 Mistral的初學(xué)者指南

    使用 QLoRA 進(jìn)行微調(diào)Llama 2 和 Mistral的初學(xué)者指南

    本指南適用于任何想要為自己的項(xiàng)目定制強(qiáng)大的語(yǔ)言模型(如 Llama 2 和 Mistral)的人。使用 QLoRA,我們將逐步完成微調(diào)這些大型語(yǔ)言模型 (LLMs) 的步驟,即使您沒(méi)有可供使用的超級(jí)計(jì)算機(jī)。 關(guān)鍵點(diǎn):一個(gè)好的模型需要好的數(shù)據(jù)。我們將介紹對(duì)現(xiàn)有數(shù)據(jù)的訓(xùn)練以及如何創(chuàng)建自

    2024年02月22日
    瀏覽(29)
  • 使用AI制作 3d 模型初學(xué)者指南,如何在 Blender 3d 中使用stable diffusion

    使用AI制作 3d 模型初學(xué)者指南,如何在 Blender 3d 中使用stable diffusion

    安裝 Stability for Blender 只需這些簡(jiǎn)單的步驟即可快速簡(jiǎn)便: 在這里,前往Addon Releases頁(yè)面,然后單擊“stability-blender-addon”鏈接下載 ZIP 文件(而不是源代碼鏈接) 或者,您可以從我們的 Blender Market 頁(yè)面免費(fèi)下載最新版本。

    2024年02月03日
    瀏覽(32)
  • Groovy初學(xué)者指南

    本文已收錄至Github,推薦閱讀 ?? Java隨想錄 微信公眾號(hào):Java隨想錄 目錄 摘要 Groovy與Java的聯(lián)系和區(qū)別 Groovy的語(yǔ)法 動(dòng)態(tài)類型 元編程 處理集合的便捷方法 閉包 運(yùn)算符重載 控制流 條件語(yǔ)句 循環(huán)語(yǔ)句 字符串處理 字符串插值 多行字符串 集合與迭代 列表(List) 映射(Map) 迭代器

    2024年02月05日
    瀏覽(22)
  • 爬蟲,初學(xué)者指南

    爬蟲,初學(xué)者指南

    1.想目標(biāo)地址發(fā)起請(qǐng)求,攜帶heards和不攜帶heards的區(qū)別 request模塊用于測(cè)速發(fā)送數(shù)據(jù)的連通性,通過(guò)回復(fù)可以看出418,Connection:close表示未獲取到服務(wù)器的返回值,需要添加heards信息,此服務(wù)器拒絕非瀏覽器發(fā)送的請(qǐng)求。 上圖可以看出添加了頭信息headers之后成功獲取了返回值

    2024年02月07日
    瀏覽(35)
  • 大語(yǔ)言模型初學(xué)者指南 (2023)

    大語(yǔ)言模型初學(xué)者指南 (2023)

    大語(yǔ)言模型 (LLM) 是深度學(xué)習(xí)的一個(gè)子集,它正在徹底改變自然語(yǔ)言處理領(lǐng)域。它們是功能強(qiáng)大的通用語(yǔ)言模型,可以針對(duì)大量數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,然后針對(duì)特定任務(wù)進(jìn)行微調(diào)。這使得LLM能夠擁有大量的一般數(shù)據(jù)。如果一個(gè)人想將LLM用于特定目的,他們可以簡(jiǎn)單地根據(jù)各自的目的

    2024年02月11日
    瀏覽(33)
  • 算法初學(xué)者指南:理解排序算法

    ? ? ? ? 排序是計(jì)算機(jī)科學(xué)中的基本問(wèn)題之一,也是數(shù)據(jù)處理的核心步驟。從最簡(jiǎn)單的個(gè)人項(xiàng)目到復(fù)雜的工業(yè)級(jí)應(yīng)用,排序都扮演著關(guān)鍵角色。本文將介紹四種常見(jiàn)的排序算法:冒泡排序、插入排序、快速排序和堆排序,旨在幫助算法初學(xué)者理解這些基本概念。 ? ? ? ? 冒泡

    2024年01月23日
    瀏覽(39)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包