Trait trong RAML

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh

Trait trong RAML được sử dụng để định nghĩa những thành phần giống nhau trong các request URI khác nhau để có thể sử dụng lại được. Nó giống như common class, method trong Java đó các bạn!

  Import RAML vào Postman
  API fragments với RAML

Xem thêm các việc làm Android hấp dẫn trên TopDev

Ví dụ như mình có 2 request URI có định nghĩa như sau:

#%RAML 1.0
baseUri: https://localhost:8081/api
title: RAML Trait
version: 1.0

/students/by-name:
get:
queryParameters:
name: string

/classes/by-name:
get:
queryParameters:
name: string

Trong 2 request này, request parameter “name” được định nghĩa giống nhau. Do đó, chúng ta có thể sử dụng Trait để định nghĩa cho request parameter này và sử dụng lại trong 2 request. Khi thay đổi định nghĩa cho request parameter “name”, chúng ta không cần phải sửa nhiều chỗ nữa.

Chúng ta định nghĩa Trait cho request parameter “name” với tên gọi là “hasNameParam” như sau:

traits: 
hasNameParam:
queryParameters:
name: string
Và để sử dụng nó trong các request URI, các bạn cần khai báo nó với từ khoá “is” như sau:
#%RAML 1.0
baseUri: https://localhost:8081/api
title: RAML Trait
version: 1.0

traits: 
hasNameParam:
queryParameters:
name: string

/students/by-name:
get:
is: [ hasNameParam ]

/classes/by-name:
get:
is: [ hasNameParam ]

Import API specs này vào Postman, các bạn sẽ thấy kết quả như sau:

Bài viết gốc được đăng tải tại huongdanjava.com
Có thể bạn quan tâm: