Đối với các request với HTTP method là POST, PUT, DELETE, thông thường chúng ta sẽ cần định nghĩa request body. Với RAML thì chúng ta sẽ định nghĩa cấu trúc của request body như thế nào và làm thế nào để định nghĩa response với RAML. Trong bài viết này, chúng ta hãy cùng nhau tìm hiểu các bạn nhé!
Giả sử mình định nghĩa một request để thêm mới thông tin sinh viên với nội dung ban đầu như sau:
1 2 3 4 5 6 7 8 |
#%RAML 1.0 baseUri: https://localhost:8081/api title: Student Management System version: 1.0 /students: post: description: Add new student |
Để định nghĩa request body cho request này, chúng ta sẽ khai báo thêm section body với content-type, kiểu dữ liệu và có thể thêm example cho request body này nữa. Ví dụ như sau:
1 2 3 4 5 6 7 |
/students: post: description: Add new student body: application/json: type: Student example: { "id" : 5, "name" : "Khanh" } |
Như các bạn thấy, mình đã định nghĩa content-type cho data trong request body trong ví dụ này của mình là application/json với kiểu dữ liệu là Student như sau:
1 2 3 4 5 6 7 8 9 10 |
types: Student: type: object properties: id: required: true type: integer name: required: true type: string |
Để định nghĩa response cho một request trong RAML, chúng ta sẽ sử dụng section responses.
RAML cho phép chúng ta định nghĩa response cho từng HTTP status code và với mỗi response, tương tự như request body, chúng ta cũng có thể định nghĩa response body. Ví dụ như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/students: post: description: Add new student body: application/json: type: Student example: { "id" : 5, "name" : "Khanh" } responses: 201: body: application/json: type: String example: "Created" |
Như các bạn thấy, ngay sau khi khai báo section cho HTTP status code, chúng ta sẽ khai báo section body để khai báo nội dung của response body. Chúng ta cũng có thể khai báo content-type, kiểu dữ liệu, example tương tự như request body.