2016-06-22 2 views
2

У меня есть документы и попробуйте добавить новые документы API в эти документы.Как включить общие ответы на ресурс raml

Я прошел через основные документы RAML.

У меня есть файл raml как.

И фактическое содержание RAML в test.raml

#Filename: test.raml 
displayName: Test RAML Inheritance 
description: Testing for RAML inheritance for responses. 

get: 
    description: Get all TEST 
    headers: 
     name: 
      description: name required in each request 
      example: testname 
      required: true 
    responses: 
     200: 
      description: SUCCESS 
      body: 
       application/json: 
        example: | 
         {} 
     400: 
      description: BAD REQUEST 
      body: 
       application/json: 
        example: | 
         {"error": "Bad Request"} 
     500: 
      description: INTERNAL ERROR 
      body: 
       application/json: 
        example: | 
         {"error": "Internal Error"} 

post: 
    description: Get all TEST 
    headers: 
     name: 
      description: name required in each request 
      example: testname 
      required: true 
    responses: 
     200: 
      description: SUCCESS 
      body: 
       application/json: 
        example: | 
         {"message": "Created"} 
     400: 
      description: BAD REQUEST 
      body: 
       application/json: 
        example: | 
         {"error": "Bad Request"} 
     500: 
      description: INTERNAL ERROR 
      body: 
       application/json: 
        example: | 
         {"error": "Internal Error"} 


/{test_id}: 
    description: TEST DETAILS 
    get: 
     description: Retrieve resource own by x-user-name 
     headers: 
      name: 
       description: name required in each request 
       example: testname 
       required: true 
     responses: 
      200: 
       description: SUCCESS 
       body: 
        application/json: 
         example: | 
          {"message": "Details"} 
      400: 
       description: BAD REQUEST 
       body: 
        application/json: 
         example: | 
          {"error": "Bad Request"} 
      500: 
       description: INTERNAL ERROR 
       body: 
        application/json: 
         example: | 
          {"error": "Internal Error"} 

В выше Raml, 400 и 500 ответом является общим, и name заголовки является общим.

Как я могу написать это один раз и добавить все ресурсы? Я пробовал traits и <<: обе не работает.

+0

черты работают для меня !!! – Sachin

+0

@ Sachin вы можете дать свой пример «trait» в ответ? – Nilesh

ответ

1

Характеристики здесь правильное решение. Это пример для сценария name заголовка:

Определение признака

traits: 
    nameHeader: 
    headers: 
     name: 
     description: name required in each request 
     example: testname 
     required: true 

Используйте свойство

Чтобы использовать эту особенность, вы должны явно указать его в вашей спецификации запроса:

/{test_id}: 
    description: TEST DETAILS 
    get: 
    description: Retrieve resource own by x-user-name 
    is: [nameHeader] 
    responses: 
     200: 
     description: SUCCESS 
     body: 
      application/json: 
      example: | 
       {"message": "Details"} 

Так же, как вы можете d efine черты для ваших ответов.

+0

Я никогда не пробовал «черты», но попытаюсь выбрать этот, если он работает. – Nilesh

+0

Спасибо! Рад, что я мог бы помочь даже после почти года :) – flogy

Смежные вопросы