API REST PHP W3schools

Restful Web Services là một dịch vụ nhẹ, có thể bảo trì và có thể mở rộng được xây dựng trên kiến ​​trúc REST. Dịch vụ web yên tĩnh, hiển thị API từ ứng dụng của bạn theo cách an toàn, thống nhất, không trạng thái cho ứng dụng khách đang gọi. Máy khách đang gọi có thể thực hiện các thao tác được xác định trước bằng cách sử dụng dịch vụ Restful. Giao thức cơ bản cho REST là HTTP. REST là viết tắt của Chuyển giao trạng thái đại diện

Trong hướng dẫn API REST này, bạn sẽ học-

  • Các yếu tố chính của RESTful
  • phương pháp yên tĩnh
  • Tại sao nghỉ ngơi
  • Kiến trúc yên tĩnh
  • RestFul Nguyên tắc và Ràng buộc
  • Tạo dịch vụ web Restful đầu tiên của bạn trong ASP. BỌC LƯỚI
  • Chạy dịch vụ web Restful đầu tiên của bạn
  • Thử nghiệm dịch vụ web Restful đầu tiên của bạn

Các yếu tố chính của RESTful

Các dịch vụ Web REST đã thực sự đi được một chặng đường dài kể từ khi ra đời. Năm 2002, tập đoàn Web đã đưa ra định nghĩa về các dịch vụ web WSDL và SOAP. Điều này hình thành tiêu chuẩn về cách các dịch vụ web được triển khai

Năm 2004, tập đoàn web cũng đưa ra định nghĩa về một tiêu chuẩn bổ sung có tên là RESTful. Trong vài năm qua, tiêu chuẩn này đã trở nên khá phổ biến. Và đang được sử dụng bởi nhiều trang web phổ biến trên thế giới bao gồm Facebook và Twitter

REST là một cách để truy cập các tài nguyên nằm trong một môi trường cụ thể. Ví dụ: bạn có thể có một máy chủ có thể lưu trữ các tài liệu hoặc hình ảnh hoặc video quan trọng. Tất cả những điều này là một ví dụ về tài nguyên. Nếu một máy khách, giả sử một trình duyệt web cần bất kỳ tài nguyên nào trong số này, thì nó phải gửi yêu cầu đến máy chủ để truy cập các tài nguyên này. Giờ đây, các dịch vụ REST xác định cách thức truy cập các tài nguyên này


Các yếu tố chính của việc triển khai RESTful như sau
  1. Tài nguyên – Yếu tố quan trọng đầu tiên là chính tài nguyên đó. Giả sử rằng một ứng dụng web trên máy chủ có hồ sơ của một số nhân viên. Giả sử URL của ứng dụng web là http. //thử nghiệm. gu99. com. Bây giờ để truy cập tài nguyên hồ sơ nhân viên thông qua các dịch vụ REST, người ta có thể ra lệnh http. //thử nghiệm. gu99. com/employee/1 – Lệnh này yêu cầu máy chủ web vui lòng cung cấp thông tin chi tiết của nhân viên có mã số nhân viên là 1
  2. Động từ yêu cầu – Chúng mô tả những gì bạn muốn làm với tài nguyên. Trình duyệt đưa ra động từ GET để hướng dẫn điểm cuối mà nó muốn lấy dữ liệu. Tuy nhiên, có nhiều động từ khác có sẵn bao gồm những thứ như POST, PUT và DELETE. Vì vậy, trong trường hợp của ví dụ http. //thử nghiệm. gu99. com/employee/1 , trình duyệt web thực sự đang phát ra Động từ GET vì nó muốn lấy thông tin chi tiết về hồ sơ nhân viên
  3. Tiêu đề yêu cầu – Đây là những hướng dẫn bổ sung được gửi cùng với yêu cầu. Chúng có thể xác định loại phản hồi được yêu cầu hoặc chi tiết ủy quyền
  4. Request Body – Dữ liệu được gửi cùng với yêu cầu. Dữ liệu thường được gửi trong yêu cầu khi yêu cầu POST được gửi tới các dịch vụ web REST. Trong một cuộc gọi POST, máy khách thực sự nói với các dịch vụ web REST rằng nó muốn thêm tài nguyên vào máy chủ. Do đó, phần thân yêu cầu sẽ có các chi tiết về tài nguyên được yêu cầu thêm vào máy chủ
  5. Phần phản hồi – Đây là phần chính của phản hồi. Vì vậy, trong ví dụ API RESTful của chúng tôi, nếu chúng tôi truy vấn máy chủ web thông qua yêu cầu http. //thử nghiệm. gu99. com/employee/1 , máy chủ web có thể trả về một tài liệu XML với tất cả thông tin chi tiết về nhân viên trong Nội dung phản hồi
  6. Mã trạng thái phản hồi – Các mã này là mã chung được trả về cùng với phản hồi từ máy chủ web. Một ví dụ là mã 200 thường được trả về nếu không có lỗi khi trả về phản hồi cho máy khách

phương pháp yên tĩnh

Sơ đồ bên dưới hiển thị hầu hết tất cả các động từ [POST, GET, PUT và DELETE] và một ví dụ API REST về ý nghĩa của chúng

Giả sử rằng chúng ta có một dịch vụ web RESTful được xác định tại vị trí. http. //thử nghiệm. gu99. com/nhân viên. Khi khách hàng thực hiện bất kỳ yêu cầu nào đối với dịch vụ web này, nó có thể chỉ định bất kỳ động từ HTTP thông thường nào là GET, POST, DELETE và PUT. Dưới đây là những gì sẽ xảy ra nếu các động từ tương ứng được gửi bởi khách hàng

  1. POST - Điều này sẽ được sử dụng để tạo một nhân viên mới bằng cách sử dụng dịch vụ web RESTful
  2. NHẬN - Điều này sẽ được sử dụng để lấy danh sách tất cả nhân viên sử dụng dịch vụ web RESTful
  3. PUT – Điều này sẽ được sử dụng để cập nhật tất cả nhân viên sử dụng dịch vụ web RESTful
  4. XÓA - Điều này sẽ được sử dụng để xóa tất cả nhân viên sử dụng các dịch vụ RESTful

Hãy xem xét từ góc độ của một bản ghi duy nhất. Giả sử có một bản ghi nhân viên với mã số nhân viên là 1


Các hành động sau đây sẽ có ý nghĩa tương ứng
  1. ĐĂNG - Điều này sẽ không áp dụng được vì chúng tôi đang tìm nạp dữ liệu của nhân viên 1 đã được tạo
  2. NHẬN - Điều này sẽ được sử dụng để lấy thông tin chi tiết của nhân viên với Nhân viên số 1 bằng cách sử dụng dịch vụ web RESTful
  3. PUT – Điều này sẽ được sử dụng để cập nhật thông tin chi tiết của nhân viên với Nhân viên số 1 bằng cách sử dụng dịch vụ web RESTful
  4. DELETE – Thao tác này được sử dụng để xóa thông tin chi tiết của nhân viên với Số nhân viên là 1

Tại sao nghỉ ngơi

Restful chủ yếu trở nên phổ biến vì những lý do sau

1. Ngôn ngữ và môi trường không đồng nhất – Đây là một trong những lý do cơ bản giống như chúng ta đã thấy đối với SOAP

  • Nó cho phép các ứng dụng web được xây dựng trên các ngôn ngữ lập trình khác nhau có thể giao tiếp với nhau
  • Với sự trợ giúp của các dịch vụ Restful, các ứng dụng web này có thể nằm trên các môi trường khác nhau, một số có thể trên Windows và một số khác có thể trên Linux

Nhưng cuối cùng, bất kể môi trường như thế nào, kết quả cuối cùng sẽ luôn giống nhau là họ có thể nói chuyện với nhau. Các dịch vụ web an toàn cung cấp tính linh hoạt này cho các ứng dụng được xây dựng trên nhiều ngôn ngữ lập trình và nền tảng khác nhau để giao tiếp với nhau

Hình dưới đây đưa ra một ví dụ về ứng dụng web có yêu cầu nói chuyện với các ứng dụng khác như Facebook, Twitter và Google

Bây giờ nếu ứng dụng khách phải hoạt động với các trang web như Facebook, Twitter, v.v. họ có thể sẽ phải biết ngôn ngữ mà Facebook, Google và Twitter được xây dựng trên đó, cũng như chúng được xây dựng trên nền tảng nào

Dựa trên điều này, chúng ta có thể viết mã giao diện cho ứng dụng web của mình, nhưng điều này có thể là một cơn ác mộng

Facebook, Twitter và Google thể hiện chức năng của họ dưới dạng các dịch vụ web Restful. Điều này cho phép mọi ứng dụng khách gọi các dịch vụ web này qua REST

2. Sự kiện của Thiết bị – Ngày nay, mọi thứ cần phải hoạt động trên Thiết bị di động, cho dù đó là thiết bị di động, máy tính xách tay hay thậm chí là hệ thống ô tô

Bạn có thể tưởng tượng số lượng nỗ lực để thử và viết mã các ứng dụng trên các thiết bị này để nói chuyện với các ứng dụng web bình thường không?

3. Cuối cùng là sự kiện Cloud – Vạn vật đang chuyển lên mây. Các ứng dụng đang dần chuyển sang các hệ thống dựa trên đám mây như Azure hoặc Amazon. Azure và Amazon cung cấp rất nhiều API dựa trên kiến ​​trúc Restful. Do đó, các ứng dụng hiện cần được phát triển theo cách tương thích với Đám mây. Vì vậy, vì tất cả các kiến ​​trúc dựa trên Đám mây đều hoạt động theo nguyên tắc REST, nên các dịch vụ web được lập trình trên kiến ​​trúc dựa trên dịch vụ REST sẽ hợp lý hơn để tận dụng tốt nhất các dịch vụ dựa trên Đám mây

Kiến trúc yên tĩnh

Một ứng dụng hoặc kiến ​​trúc được coi là RESTful hoặc kiểu REST có các đặc điểm sau

1. Trạng thái và chức năng được chia thành các tài nguyên phân tán – Điều này có nghĩa là mọi tài nguyên đều có thể truy cập được thông qua các lệnh HTTP thông thường là GET, POST, PUT hoặc DELETE. Vì vậy, nếu ai đó muốn lấy tệp từ máy chủ, họ có thể đưa ra yêu cầu GET và lấy tệp. Nếu họ muốn đặt một tệp trên máy chủ, họ có thể đưa ra yêu cầu POST hoặc PUT. Và cuối cùng, nếu họ muốn xóa một tệp khỏi máy chủ, họ có thể đưa ra yêu cầu DELETE

2. Kiến trúc là máy khách/máy chủ, không trạng thái, phân lớp và hỗ trợ bộ nhớ đệm

  • Máy khách-máy chủ là kiến ​​trúc điển hình trong đó máy chủ có thể là máy chủ web lưu trữ ứng dụng và máy khách có thể đơn giản như trình duyệt web
  • Không trạng thái có nghĩa là trạng thái của ứng dụng không được duy trì trong REST. Ví dụ: nếu bạn xóa tài nguyên khỏi máy chủ bằng lệnh DELETE, bạn không thể mong đợi thông tin xóa đó được chuyển đến yêu cầu tiếp theo

Để đảm bảo rằng tài nguyên đã bị xóa, bạn cần đưa ra yêu cầu GET. Yêu cầu GET sẽ được sử dụng để lấy tất cả tài nguyên trên máy chủ trước tiên. Sau đó, người ta sẽ cần xem liệu tài nguyên có thực sự bị xóa hay không

Nguyên tắc và ràng buộc RESTFul

Kiến trúc REST dựa trên một vài đặc điểm được xây dựng bên dưới. Bất kỳ dịch vụ web RESTful nào cũng phải tuân thủ các đặc điểm bên dưới để được gọi là RESTful. Những đặc điểm này còn được gọi là nguyên tắc thiết kế cần tuân theo khi làm việc với các dịch vụ dựa trên RESTful

  1. Máy khách-máy chủ RESTFul

Đây là yêu cầu cơ bản nhất của kiến ​​trúc dựa trên REST. Điều đó có nghĩa là máy chủ sẽ có một dịch vụ web RESTful sẽ cung cấp chức năng cần thiết cho máy khách. Máy khách gửi yêu cầu đến dịch vụ web trên máy chủ. Máy chủ sẽ từ chối yêu cầu hoặc tuân thủ và cung cấp phản hồi đầy đủ cho máy khách

  1. không quốc tịch

Khái niệm không trạng thái có nghĩa là tùy thuộc vào khách hàng để đảm bảo rằng tất cả thông tin cần thiết được cung cấp cho máy chủ. Điều này là bắt buộc để máy chủ có thể xử lý phản hồi một cách thích hợp. Máy chủ không nên duy trì bất kỳ loại thông tin nào giữa các yêu cầu từ máy khách. Đó là một chuỗi câu hỏi-trả lời độc lập rất đơn giản. Khách hàng đặt câu hỏi, máy chủ trả lời phù hợp. Khách hàng sẽ hỏi một câu hỏi khác. Máy chủ sẽ không nhớ tình huống trả lời câu hỏi trước đó và sẽ cần phải trả lời câu hỏi mới một cách độc lập

  1. Bộ nhớ cache

Khái niệm Cache là để giải quyết vấn đề không trạng thái đã được mô tả ở điểm cuối cùng. Vì mỗi yêu cầu của máy khách về bản chất là độc lập, nên đôi khi máy khách có thể yêu cầu lại máy chủ cho cùng một yêu cầu. Đây là mặc dù nó đã yêu cầu nó trong quá khứ. Yêu cầu này sẽ đến máy chủ và máy chủ sẽ đưa ra phản hồi. Điều này làm tăng lưu lượng trên mạng. Bộ đệm là một khái niệm được triển khai trên máy khách để lưu trữ các yêu cầu đã được gửi đến máy chủ. Vì vậy, nếu khách hàng đưa ra cùng một yêu cầu, thay vì đến máy chủ, nó sẽ chuyển đến bộ đệm và nhận thông tin cần thiết. Điều này giúp tiết kiệm lưu lượng truy cập mạng đến và đi từ máy khách đến máy chủ

  1. Hệ thống lớp

Khái niệm về hệ thống phân lớp là bất kỳ lớp bổ sung nào, chẳng hạn như lớp phần mềm trung gian, có thể được chèn vào giữa máy khách và máy chủ thực lưu trữ dịch vụ web RESTFul [Lớp phần mềm trung gian là nơi tất cả logic nghiệp vụ được tạo. Đây có thể là một dịch vụ bổ sung được tạo mà khách hàng có thể tương tác trước khi thực hiện cuộc gọi đến dịch vụ web. ]. Nhưng việc đưa vào tầng này cần minh bạch để không làm ảnh hưởng đến sự tương tác giữa máy khách và máy chủ

  1. Giao diện/Hợp đồng thống nhất

Đây là kỹ thuật cơ bản về cách hoạt động của các dịch vụ web RESTful. Về cơ bản, RESTful hoạt động trên lớp web HTTP và sử dụng các động từ chính bên dưới để làm việc với các tài nguyên trên máy chủ

  • POST – Để tạo tài nguyên trên máy chủ
  • GET – Để lấy tài nguyên từ máy chủ
  • PUT – Để thay đổi trạng thái của tài nguyên hoặc cập nhật nó
  • XÓA – Để xóa hoặc xóa tài nguyên khỏi máy chủ

Tạo dịch vụ web Restful đầu tiên của bạn trong ASP. BỌC LƯỚI

Bây giờ trong hướng dẫn API REST này, chúng ta sẽ tìm hiểu cách tạo một dịch vụ web Restful trong ASP. BỌC LƯỚI

Dịch vụ web có thể được tạo bằng nhiều ngôn ngữ. Nhiều môi trường phát triển tích hợp có thể được sử dụng để tạo các dịch vụ dựa trên REST

Trong ví dụ về API RESTful này, chúng ta sẽ tạo ứng dụng REST của mình trong. Net bằng Visual Studio. Trong ví dụ của chúng tôi, đối với các dịch vụ web Restful, chúng tôi sẽ mô phỏng ví dụ về dịch vụ REST sau đây

Chúng tôi sẽ có một dịch vụ web Restful sẽ hoạt động trên bộ dữ liệu bên dưới

Tập hợp dữ liệu dưới đây đại diện cho một ví dụ API REST về việc có một công ty hiển thị Hướng dẫn mà họ có dựa trên Hướng dẫn

TutorialidTutorialName0Arrays1Queues2Stacks

Trong ví dụ hướng dẫn API REST của chúng tôi, chúng tôi sẽ triển khai các Động từ Restful bên dưới

  1. NHẬN Hướng dẫn – Khi khách hàng gọi API Restful này, họ sẽ được cung cấp toàn bộ bộ Hướng dẫn có sẵn từ dịch vụ web
  2. GET Tutorial/Tutorialid – Khi khách hàng gọi Restful API này, họ sẽ được đặt tên Hướng dẫn dựa trên Tutorialid do khách hàng gửi
  3. POST Tutorial/Tutorialname – Khi client gọi Restful API này, client sẽ gửi yêu cầu chèn Tutorialname. Sau đó, dịch vụ web sẽ thêm tên Hướng dẫn đã gửi vào bộ sưu tập
  4. XÓA Tutorial/Tutorialid– Khi khách hàng gọi API Restful này, khách hàng sẽ gửi yêu cầu xóa Tên hướng dẫn dựa trên Tutorialid. Sau đó, dịch vụ web sẽ xóa tên Hướng dẫn đã gửi khỏi bộ sưu tập

Hãy làm theo các bước bên dưới trong hướng dẫn API RESTful này để tạo các dịch vụ web RESTful đầu tiên của chúng tôi, thực hiện triển khai ở trên

Cách tạo dịch vụ web an toàn đầu tiên của bạn

Bước 1] Tạo dự án mới.
Bước đầu tiên là tạo một Asp trống. Ứng dụng web mạng. Từ Visual Studio 2013, nhấp vào tùy chọn menu Tệp-> Dự án mới.

Khi bạn nhấp vào tùy chọn Dự án mới, Visual Studio sẽ cung cấp cho bạn một hộp thoại khác để chọn loại dự án và cung cấp các chi tiết cần thiết của dự án. Điều này được giải thích trong bước tiếp theo của hướng dẫn API RESTful này

Bước 2] Nhập tên dự án và vị trí

  1. Trước tiên hãy đảm bảo chọn mẫu web C# của dịch vụ web RESTful của ASP. ứng dụng WebNET. Dự án phải thuộc loại này để tạo dự án dịch vụ web. Bằng cách chọn tùy chọn này, Visual Studio sau đó sẽ thực hiện các bước cần thiết để thêm các tệp cần thiết được yêu cầu bởi bất kỳ ứng dụng dựa trên web nào
  2. Đặt tên cho dự án của bạn, trong trường hợp của chúng tôi đã được đặt tên là “Dịch vụ web. CÒN LẠI"
  3. Sau đó đảm bảo cung cấp một vị trí, nơi các tệp dự án sẽ được lưu trữ

Sau khi hoàn tất, bạn sẽ thấy tệp dự án được tạo trong trình khám phá giải pháp của mình trong Visual Studio 2013

Bước 3] Tạo tệp dịch vụ web.
Bước tiếp theo là tạo tệp dịch vụ web sẽ có dịch vụ web RESTful

  1. Đầu tiên Nhấp chuột phải vào tệp dự án như hình bên dưới

  1. Trong bước này,
    1. Nhấp chuột phải vào tệp dự án
    2. Chọn tùy chọn “Thêm-> mục mới. ”

Trong hộp thoại xuất hiện, bạn cần thực hiện như sau

  1. Chọn tùy chọn của Dịch vụ WCF [hỗ trợ Ajax] – Chọn một tệp thuộc loại này, nó khiến Visual studio thêm một số mã cơ bản giúp người ta tạo một dịch vụ web RESTful. WCF là viết tắt của Tổ chức truyền thông Windows. WCF là một thư viện dành cho các ứng dụng của nhiều nền tảng khác nhau hoặc cùng một nền tảng để giao tiếp qua các giao thức khác nhau như TCP, HTTP, HTTPS. Ajax về cơ bản là JavaScript và XML không đồng bộ. AJAX cho phép các trang web được cập nhật không đồng bộ bằng cách trao đổi một lượng nhỏ dữ liệu với máy chủ đằng sau hậu trường
  2. Tiếp theo đặt tên cho dịch vụ là TutorialService trong trường hợp của chúng tôi
  3. Cuối cùng nhấn nút Add để thêm dịch vụ vào giải pháp

Bước 4] Tạo cấu hình.
Bước tiếp theo là thực sự thay đổi cấu hình để cho phép dự án này hoàn thành công việc với các dịch vụ web RESTful. Điều này yêu cầu thực hiện thay đổi đối với tệp có tên Web. cấu hình. Tệp này xuất hiện trong cùng một cửa sổ với tệp dự án Webservice. tập tin Web. config chứa tất cả các cấu hình giúp ứng dụng web hoạt động bình thường. Thay đổi được thực hiện thực sự cho phép ứng dụng gửi và nhận dữ liệu dưới dạng dịch vụ web RESTful thuần túy.

  1. Bấm vào trang web. tập tin cấu hình để mở mã

  1. Find for the line

  1. Change the line to

Bước 5] Thêm mã của chúng tôi để triển khai.
Bước tiếp theo trong hướng dẫn API RESTful này là thêm mã của chúng tôi để triển khai. Tất cả các mã được đề cập dưới đây phải được viết trong TutorialService. tệp svc

  1. Bit đầu tiên là thêm mã để thể hiện dữ liệu của chúng tôi sẽ được sử dụng trong chương trình của chúng tôi. Vì vậy, chúng ta sẽ có một danh sách các biến chuỗi với các giá trị là “Mảng”, “Hàng đợi” và “Ngăn xếp”. Điều này sẽ đại diện cho tên hướng dẫn có sẵn thông qua dịch vụ web lưu trữ của chúng tôi

namespace Webservice.REST
{
	[ServiceContract[Namespace = ""]]
	[AspNetCompatibilityRequirements[RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed
	public class TutorialService
	{
		private static List lst = new List
		[new String[] {"Arrays","Queues","Stacks"}];

Bước 6] Xác định mã cho phương thức GET của chúng ta.
Tiếp theo, chúng ta sẽ xác định mã cho phương thức GET của mình. Mã này cũng sẽ nằm trong cùng TutorialService. tập tin svc. Mã này sẽ chạy bất cứ khi nào chúng tôi gọi dịch vụ từ trình duyệt của mình.

Phương pháp dưới đây sẽ được sử dụng để thực hiện kịch bản được đề cập dưới đây

  • Nếu người dùng muốn có một danh sách tất cả các Hướng dẫn có sẵn, thì mã bên dưới sẽ cần được viết để thực hiện điều này

[WebGet[UriTemplate="/Tutorial"]]

public String GetAllTutorial[]
{
	int count = 1st.Count;
	String TutorialList = "";
	for [int i = 0; i < count; i++]
	TutorialList = TutorialList + lst[i] + ",";
	return TutorialList;
}

Giải thích mã. -

  1. Dòng mã đầu tiên là quan trọng nhất. Nó được sử dụng để xác định cách chúng ta có thể gọi phương thức này thông qua một URL. Vì vậy, nếu liên kết đến dịch vụ web của chúng tôi là http. //máy chủ cục bộ. 52645/Dịch vụ hướng dẫn. svc và nếu chúng tôi thêm ‘/Tutorial’ vào URL dưới dạng http. //máy chủ cục bộ. 52645/Dịch vụ hướng dẫn. svc/Tutorial , đoạn mã trên sẽ được gọi. Thuộc tính của 'WebGet' là một tham số cho phép phương thức này trở thành một phương thức RESTful để nó có thể được gọi thông qua động từ GET
  2. Phần mã này được sử dụng để duyệt qua danh sách các chuỗi của chúng ta trong biến 'lst' và trả lại tất cả chúng cho chương trình gọi

Bước 7] Trả lại kết quả.
Mã bên dưới đảm bảo rằng nếu lệnh gọi GET được thực hiện cho Dịch vụ hướng dẫn với id Hướng dẫn, thì nó sẽ trả về Tên hướng dẫn tương ứng dựa trên id Hướng dẫn.

[WebGet [UriTemplate = "/Tutorial/{Tutorialid}"]]

public String GetTutorialbyID[String Tutorialid]
{
	int pid;
	Int32.TryParse[Tutorialid, out pid];
	return lst[pid];
}

Giải thích mã. -

  1. Dòng mã đầu tiên là quan trọng nhất. Nó được sử dụng để xác định cách chúng ta có thể gọi phương thức này thông qua một URL. Vì vậy, nếu liên kết đến dịch vụ web của chúng tôi là http. //máy chủ cục bộ. 52645/Dịch vụ hướng dẫn. svc và nếu chúng tôi thêm '/Tutorial/{Tutorialid}' vào URL, thì chúng tôi có thể gọi dịch vụ web là http. //máy chủ cục bộ. 52645/Dịch vụ hướng dẫn. svc/Hướng dẫn/1 làm ví dụ. Sau đó, dịch vụ web sẽ cần trả về tên Hướng dẫn có id Hướng dẫn #1
  2. Phần mã này được sử dụng để trả về "Tên hướng dẫn" có id Hướng dẫn được truyền cho phương thức web
  • Theo mặc định, điều cần nhớ là bất cứ thứ gì được chuyển tới URL trong trình duyệt đều là một chuỗi
  • Nhưng bạn phải nhớ rằng Chỉ mục trong danh sách của chúng tôi phải là một số nguyên, vì vậy chúng tôi đang thêm mã cần thiết để chuyển đổi Tutorialid thành Số nguyên trước tiên và sau đó sử dụng nó để truy cập vị trí chỉ mục trong danh sách của chúng tôi và
  • Sau đó trả về giá trị tương ứng cho chương trình gọi

Bước 8] Viết mã cho phương thức POST.
Bước tiếp theo là viết mã cho phương thức POST của chúng ta. Phương thức này sẽ được gọi bất cứ khi nào chúng ta muốn thêm một giá trị chuỗi vào danh sách Hướng dẫn của mình thông qua phương thức POST. Ví dụ: nếu bạn muốn thêm tên Hướng dẫn của “Kiểm thử phần mềm” thì bạn sẽ cần sử dụng phương thức POST.

Giải thích mã. -

  1. Dòng đầu tiên là thuộc tính 'WebInvoke' đã được đính kèm với phương thức của chúng tôi. Điều này cho phép phương thức được gọi thông qua lệnh gọi POST. Thuộc tính RequestFormat và ResponseFormat phải được đề cập dưới dạng JSON, vì khi đăng các giá trị lên dịch vụ web RESTFul, các giá trị phải ở định dạng này
  2. Dòng mã thứ hai được sử dụng để thêm giá trị chuỗi được chuyển qua lệnh gọi POST vào danh sách chuỗi Hướng dẫn hiện có của chúng tôi

Bước 9] Thêm phương thức xử lý thao tác XÓA.
Cuối cùng, chúng ta sẽ thêm phương thức để xử lý thao tác XÓA. Phương thức này sẽ được gọi bất cứ khi nào chúng ta muốn xóa một giá trị chuỗi hiện có khỏi danh sách Hướng dẫn của mình thông qua phương thức DELETE.

[WebInvoke[Method = "DELETE", RequestFormat = WebMessageFormat.Json,
	UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json,
	BodyStyle = WebMessageBodyStyle.Wrapped]]
	
public void DeleteTutorial[String Tutorialid]
{
	int pid;
	Int32.TryParse[Tutorialid, out pid];
	1st.RemoveAt[pid];
}

Giải thích mã. -

  1. Dòng đầu tiên là thuộc tính 'WebInvoke' đã được đính kèm với phương thức của chúng tôi. Điều này cho phép phương thức được gọi thông qua lệnh gọi POST. Thuộc tính RequestFormat và ResponseFormat phải được đề cập dưới dạng JSON, vì khi đăng các giá trị lên dịch vụ web RESTFul, các giá trị phải ở định dạng này. Lưu ý rằng tham số Method đang được đặt thành “DELETE. ” Điều này có nghĩa là bất cứ khi nào chúng ta đưa ra động từ DELETE, phương thức này sẽ được gọi
  2. Dòng mã thứ hai được sử dụng để lấy Tutorialid được gửi qua lệnh gọi DELETE và sau đó xóa id đó khỏi danh sách của chúng tôi. [Hàm Int32 trong mã được sử dụng để chuyển đổi ID hướng dẫn từ biến chuỗi thành số nguyên]

Chạy dịch vụ web Restful đầu tiên của bạn

Bây giờ chúng tôi đã tạo toàn bộ dịch vụ web của mình trong phần trên. Hãy xem cách chúng tôi có thể chạy dịch vụ Hướng dẫn để có thể gọi dịch vụ này từ bất kỳ máy khách nào

Để chạy dịch vụ web, vui lòng làm theo các bước dưới đây

Bước 1] Click chuột phải vào file Project – Webservice. CÒN LẠI

Bước 2] Chọn tùy chọn menu 'Đặt làm Dự án Khởi động'. Điều này sẽ đảm bảo rằng dự án này được chạy khi Visual Studio chạy toàn bộ giải pháp

Bước 3] Bước tiếp theo là tự chạy dự án. Bây giờ, tùy thuộc vào trình duyệt mặc định được cài đặt trên hệ thống, tên trình duyệt phù hợp sẽ xuất hiện bên cạnh nút chạy trong Visual Studio. Trong trường hợp của chúng tôi, chúng tôi có Google Chrome hiển thị. Chỉ cần nhấp vào nút này

đầu ra. -

Khi dự án được chạy, bạn có thể duyệt đến TutorialService của mình. svc/Hướng dẫn và bạn sẽ nhận được kết quả bên dưới

Trong đầu ra trên,

  • Bạn có thể thấy rằng trình duyệt đang gọi động từ 'GET' và thực thi phương thức 'GetAllTutorial' trong dịch vụ web. Mô-đun này được sử dụng để hiển thị tất cả các Hướng dẫn do dịch vụ web của chúng tôi cung cấp

Thử nghiệm dịch vụ web Restful đầu tiên của bạn

Trong phần trên, chúng ta đã thấy cách sử dụng trình duyệt để thực thi động từ 'GET' và gọi 'GetAllTutorial'. ’

  1. Bây giờ, hãy sử dụng trình duyệt để thực hiện tình huống sử dụng sau

GET Tutorial/Tutorialid – Khi khách hàng gọi Restful API này, họ sẽ được đặt tên Hướng dẫn dựa trên Tutorialid do khách hàng gửi

Trong trình duyệt của bạn, hãy nối chuỗi /1 sau từ Hướng dẫn trong URL. Nếu bạn nhấn nút enter, bạn sẽ nhận được đầu ra bên dưới

Bây giờ bạn sẽ thấy đầu ra của Hàng đợi thực sự tương ứng với số 1 trong danh sách Chuỗi hướng dẫn của chúng tôi. Điều này có nghĩa là phương thức 'GetTutorialbyID' hiện đang được gọi từ Dịch vụ web của chúng tôi. Nó cũng cho thấy rằng giá trị của 1 đang được chuyển thành công qua trình duyệt tới dịch vụ web và phương thức của chúng tôi và đó là lý do tại sao chúng tôi nhận được giá trị tương ứng chính xác của “Queues” trong trình duyệt

  1. Tiếp theo, hãy sử dụng dịch vụ web của chúng tôi bằng cách thực hiện tình huống bên dưới. Đối với điều này, bạn cần cài đặt công cụ có tên “Fiddler”, một công cụ có thể tải xuống miễn phí từ trang web

POST Tutorial/Tutorialname – Khi client gọi Restful API này, client sẽ gửi yêu cầu chèn Tutorialname. Sau đó, dịch vụ web sẽ thêm tên Hướng dẫn đã gửi vào bộ sưu tập

Chạy công cụ Fiddler và thực hiện các bước bên dưới;

  1. Chuyển đến phần nhà soạn nhạc. Điều này được sử dụng để tạo các yêu cầu có thể được gửi tới bất kỳ ứng dụng web nào
  2. Đảm bảo loại yêu cầu là “POST” và URL chính xác đang được truy cập, trong trường hợp của chúng tôi phải là http. //máy chủ cục bộ. 52645/Dịch vụ hướng dẫn. svc/Hướng dẫn
  3. Đảm bảo Loại nội dung được đánh dấu là ứng dụng/json. Hãy nhớ rằng phương thức yêu cầu POST trong dịch vụ Web của chúng tôi chỉ chấp nhận dữ liệu kiểu json, vì vậy chúng tôi cần đảm bảo điều này được chỉ định khi chúng tôi gửi yêu cầu tới ứng dụng của mình
  4. Cuối cùng, chúng ta cần nhập dữ liệu của mình. Hãy nhớ rằng phương thức POST của chúng tôi chấp nhận một tham số có tên là 'str. ' Vì vậy, ở đây chúng tôi xác định rằng chúng tôi muốn thêm một giá trị có tên là "Cây" vào bộ sưu tập tên Hướng dẫn của chúng tôi và đảm bảo rằng nó được gắn thẻ vào tên biến str

Cuối cùng, chỉ cần nhấp vào nút Thực thi trong fiddler. Thao tác này sẽ gửi yêu cầu tới dịch vụ web để ĐĂNG dữ liệu “Cây” lên dịch vụ web của chúng tôi

Bây giờ, khi chúng tôi duyệt đến URL Hướng dẫn để hiển thị tất cả các chuỗi trong danh sách Hướng dẫn của chúng tôi, bây giờ bạn sẽ thấy giá trị của “Tree” cũng có mặt. Điều này cho thấy rằng yêu cầu POST đối với dịch vụ web đã được thực thi thành công và nó đã được thêm thành công vào Danh sách hướng dẫn của chúng tôi

  1. Tiếp theo, hãy sử dụng dịch vụ web của chúng tôi bằng cách thực hiện tình huống bên dưới. Đối với điều này, chúng ta cũng cần sử dụng công cụ fiddler

XÓA Tutorial/Tutorialid- Khi khách hàng gọi API Restful này, khách hàng sẽ gửi yêu cầu xóa Tên hướng dẫn dựa trên Tutorialid. Sau đó, dịch vụ web sẽ xóa tên Hướng dẫn đã gửi khỏi bộ sưu tập

Chạy công cụ Fiddler và thực hiện các bước bên dưới

  1. Chuyển đến phần nhà soạn nhạc. Điều này được sử dụng để tạo các yêu cầu có thể được gửi tới bất kỳ ứng dụng web nào
  2. Đảm bảo loại yêu cầu là “XÓA” và URL chính xác đang được truy cập, trong trường hợp của chúng tôi phải là http. //máy chủ cục bộ. 52645/Dịch vụ hướng dẫn. svc/Hướng dẫn. Đảm bảo rằng id được sử dụng để xóa một chuỗi trong danh sách được gửi qua URL dưới dạng tham số. Trong ví dụ REST của chúng tôi, chúng tôi đang gửi 1, vì vậy điều này sẽ xóa phần tử thứ 2 trong bộ sưu tập của chúng tôi, đó là “Queues”

Cuối cùng, chỉ cần nhấp vào nút Thực thi trong fiddler. Thao tác này sẽ gửi yêu cầu tới dịch vụ web để XÓA dữ liệu “Hàng đợi” tới dịch vụ web của chúng tôi

Bây giờ, khi chúng tôi duyệt đến URL Hướng dẫn để hiển thị tất cả các chuỗi trong danh sách Hướng dẫn của chúng tôi, bạn sẽ nhận thấy rằng giá trị của “Queues” không còn nữa

Điều này cho thấy rằng yêu cầu XÓA đối với dịch vụ web đã được thực hiện thành công. Phần tử tại chỉ mục số 1 trong danh sách chuỗi Hướng dẫn của chúng tôi đã được xóa thành công

API REST trong PHP là gì?

API Rest là API cho phép lập trình viên gửi và nhận thông tin từ các chương trình khác bằng các lệnh giao thức HTTP như GET và POST . Mặc dù API REST hoạt động với hầu hết các giao thức nhưng nó được thiết kế đặc biệt để truyền dữ liệu qua giao thức HTTP.

Làm cách nào để tạo API REST bằng PHP?

Các bước tạo API REST. .
Tạo cơ sở dữ liệu và bảng DB
Thiết lập kết nối cơ sở dữ liệu
Tạo tệp API REST. Tạo chỉ mục hoặc tệp HTML. Tìm nạp các bản ghi từ cơ sở dữ liệu qua cURL

Ví dụ về API REST là gì?

Ví dụ: API REST sẽ sử dụng yêu cầu GET để truy xuất bản ghi, yêu cầu POST để tạo một bản ghi, yêu cầu PUT để cập nhật bản ghi và yêu cầu XÓA để . Tất cả các phương thức HTTP có thể được sử dụng trong lệnh gọi API. API REST được thiết kế tốt tương tự như một trang web chạy trong trình duyệt web có chức năng HTTP tích hợp. . All HTTP methods can be used in API calls. A well-designed REST API is similar to a website running in a web browser with built-in HTTP functionality.

Các phương thức API REST là gì?

Phương thức API REST

Chủ Đề