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!
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
#%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: