Làm cách nào để gọi API trong Symfony?

Xin chào các nhà phát triển, trong blog này, tôi sẽ chỉ cho bạn cách tạo API REST của Symfony 5. API REST được sử dụng để giao tiếp giữa máy khách và máy chủ. REST là viết tắt của chuyển trạng thái đại diện và API là viết tắt của giao diện lập trình ứng dụng. API REST hay còn được gọi là API RESTful là một loại API sử dụng kiểu kiến ​​trúc REST, một API được sử dụng REST nếu có đặc điểm này

  • Client-Server – Giao tiếp giữa Client và Server
  • Không trạng thái – Sau khi máy chủ hoàn thành yêu cầu http, không có thông tin phiên nào được giữ lại trên máy chủ
  • Có thể lưu vào bộ nhớ cache – Phản hồi từ máy chủ có thể được lưu vào bộ nhớ cache hoặc không thể lưu vào bộ nhớ cache
  • Giao diện thống nhất - Đây là những ràng buộc giúp đơn giản hóa mọi thứ. Các ràng buộc là Xác định tài nguyên, thao tác tài nguyên thông qua các biểu diễn, thông báo tự mô tả, hypermedia làm công cụ của trạng thái ứng dụng
  • Hệ thống phân lớp – Đây là những trung gian giữa máy khách và máy chủ như máy chủ proxy, máy chủ bộ đệm, v.v.
  • Mã theo yêu cầu [Tùy chọn] – Đây là tùy chọn, khả năng máy chủ gửi mã thực thi tới máy khách như java applet hoặc mã JavaScript, v.v.

Bây giờ bạn đã có một chút hiểu biết về REST API. bây giờ chúng ta sẽ tiếp tục tạo cái này trên Symfony 5

Symfony là gì? . Symfony là một trong những khung công tác PHP hàng đầu để tạo trang web và ứng dụng web

Điều kiện tiên quyết

  • nhà soạn nhạc
  • SymfonyCLI
  • mysql
  • PHP >= 7. 2. 5

Bước 1. Cài đặt Symfony 5

Đầu tiên, chọn một thư mục mà bạn muốn cài đặt Symfony, sau đó thực hiện lệnh này trên Terminal hoặc CMD để cài đặt

Cài đặt qua nhà soạn nhạc

composer create-project symfony/skeleton symfony-5-rest-api

Cài đặt qua Symfony CLI

symfony new symfony-5-rest-api

Bước 2. Cài đặt gói

Sau khi cài đặt Symfony, chúng ta phải cài đặt các gói cần thiết cho API REST của mình. Trong quá trình cài đặt các gói, nó sẽ yêu cầu bạn thực hiện công thức, gõ y để xác nhận

composer require jms/serializer-bundle
composer require friendsofsymfony/rest-bundle
composer require symfony/maker-bundle      
composer require symfony/orm-pack

Bước 3. Định cấu hình gói FOSRest

Mở tệp config/packages/fos_rest. yaml và thêm những dòng này

cấu hình/gói/fos_rest. khoai mỡ

fos_rest:
    format_listener:
        rules:
            - { path: ^/api, prefer_extension: true, fallback_format: json, priorities: [ json, html ] }

Bước 4. Đặt cấu hình cơ sở dữ liệu

Sau khi cài đặt, mở. env và đặt cấu hình cơ sở dữ liệu. Chúng tôi sẽ sử dụng MySQL trong hướng dẫn này. Bỏ ghi chú biến DATABASE_URL cho MySQL và cập nhật cấu hình của nó. Đảm bảo rằng bạn đã nhận xét các biến DATABASE_URL khác

env

# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
#
#  * .env                contains default values for the environment variables needed by the app
#  * .env.local          uncommitted file with local overrides
#  * .env.$APP_ENV       committed environment-specific defaults
#  * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
#
# Run "composer dump-env prod" to compile .env files for production use [requires symfony/flex >=1.2].
# //symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration

###> symfony/framework-bundle ###
APP_ENV=dev
APP_SECRET=e0710317861221371d185cc932acd15b
###< symfony/framework-bundle ###

###> doctrine/doctrine-bundle ###
# Format described at //www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
#
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
# DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"
DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
###< doctrine/doctrine-bundle ###

Sau khi cấu hình cơ sở dữ liệu, hãy thực hiện lệnh này để tạo cơ sở dữ liệu

php bin/console doctrine:database:create

Bước 4. Tạo thực thể và di chuyển

Thực thể– nó là một lớp đại diện cho một bảng cơ sở dữ liệu

Di chuyển – chẳng hạn như kiểm soát phiên bản cho cơ sở dữ liệu cho phép chúng tôi sửa đổi và chia sẻ lược đồ cơ sở dữ liệu với nhóm của bạn

Thực hiện lệnh này để tạo một Thực thể

php bin/console make:entity

Sau khi thực hiện lệnh trên, nó sẽ đặt câu hỏi – làm theo các bước bên dưới

Class name of the entity to create or update [e.g. BraveElephant]:
 > Project
Project

 created: src/Entity/Project.php
 created: src/Repository/ProjectRepository.php
 
 Entity generated! Now let's add some fields!
 You can always add more fields later manually or by re-running this command.

New property name [press  to stop adding fields]:
 > name

 Field type [enter ? to see all types] [string]:
 > string
string

 Field length [255]:
 > 255

 Can this field be null in the database [nullable] [yes/no] [no]:
 > no

 updated: src/Entity/Project.php

 Add another property? Enter the property name [or press  to stop adding fields]:
 > description

 Field type [enter ? to see all types] [string]:
 > text
text

 Can this field be null in the database [nullable] [yes/no] [no]:
 > no

 Add another property? Enter the property name [or press  to stop adding fields]:
 >


           
  Success! 
           

 Next: When you're ready, create a migration with php bin/console make:migration

Bây giờ chúng ta đã hoàn thành việc tạo một thực thể, sau đó chúng ta sẽ tạo một quá trình di chuyển

________số 8_______

Điều này sẽ tạo một tệp di chuyển, bên trong tệp di chuyển có chứa SQL. sau đó chúng tôi sẽ chạy SQL bằng lệnh này

Làm cách nào để tích hợp API trong Symfony?

API còn lại với Symfony và nền tảng API .
Yêu cầu. Các yêu cầu để thiết lập Rest API với Symfony là –.
Thiết lập Symfony. .
Thiết lập nền tảng API. .
Cấu hình cơ sở dữ liệu. .
Tạo điểm cuối API của bạn. .
Truy xuất dữ liệu ở các định dạng khác nhau. .
Loại trừ Thuộc tính khỏi điểm cuối API của bạn. .
Thêm tiền tố Tuyến đường

API Symfony là gì?

Symfony là khung công tác PHP được mô đun hóa đầy đủ tính năng được sử dụng để xây dựng tất cả các loại ứng dụng, từ ứng dụng web truyền thống đến các thành phần Microservice nhỏ.

Symfony HTTP so với Guzzle là gì?

Guzzle là ứng dụng khách HTTP PHP giúp dễ dàng gửi các yêu cầu HTTP và dễ dàng tích hợp với các dịch vụ web; . Khung web toàn ngăn xếp PHP . Symfony được viết với tiêu chí tốc độ và tính linh hoạt. Nó cho phép các nhà phát triển xây dựng các trang web tốt hơn và dễ bảo trì bằng PHP.

HttpClient được sử dụng để làm gì?

Ứng dụng khách HTTP. Có thể sử dụng HttpClient để gửi yêu cầu và truy xuất phản hồi của chúng . Một HttpClient được tạo thông qua trình tạo. Trình tạo có thể được sử dụng để định cấu hình trạng thái cho mỗi khách hàng, như. phiên bản giao thức ưa thích [ HTTP/1. 1 hay HTTP/2 ], có đi theo chuyển hướng, proxy, trình xác thực, v.v.

Chủ Đề