рддреНрдпрд╕реЛрднрдП рдпреЛ RAML рд╣реЛ рд╡рд╛ OAS (Swagger)?

рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд╕рдВрд╕рд╛рд░рдорд╛, рдЬреБрдирд╕реБрдХреИ рдХреБрд░рд╛ рдкрдирд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрди рд╕рдХреНрдЫтАФрдХреБрдиреИ рдкрдирд┐ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд▓рд╛рдИ рдлрд░рдХ рднрд╛рд╖рд╛рдорд╛, рдлрд░рдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреБрди: рд▓реЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫред рдХреЗрд╡рд▓ рдЕрдиреБрдмрдВрдзрд╣рд░реВ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рдиреБ рдкрд░реНрдЫ рддрд╛рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕рд▓рд╛рдИ рдЖрдиреНрддрд░рд┐рдХ рдореЗрдЯрд╛рдореЛрд░реНрдлреЛрд╕рд╣рд░реВ рдмрд┐рдирд╛ рдХреБрдиреИ рд╕реНрдерд╛рдпреА рдЖрдзрд╛рд░рдорд╛ рдмрд╛рд╣рд┐рд░рдмрд╛рдЯ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд░ рдЖрдЬ рд╣рд╛рдореА рд╕рдореНрдЭреМрддрд╛рд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдврд╛рдБрдЪрд╛ рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ рд╣рд╛рдореНрд░реЛ рд╕рдорд╕реНрдпрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рд╣рд╛рдореАрд▓реЗ рдлреЗрд▓рд╛ рдкрд░реЗрдХрд╛ рдХрд▓рд╛рдХреГрддрд┐рд╣рд░реВ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреЗрдЫреМрдВред

рддреНрдпрд╕реЛрднрдП рдпреЛ RAML рд╣реЛ рд╡рд╛ OAS (Swagger)?

рдкреЛрд╕реНрдЯ рддрдпрд╛рд░ рдЕрдиреНрдирд╛ рдореЗрд▓реЗрдЦреЛрд╡рд╛ ╨╕ рднреНрд▓рд╛рджрд┐рдорд┐рд░ рд▓реНрдпрд╛рдкрдЯрд┐рди

рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рд╣рд░реВред рдПрдХреНрд░реЛрдирд┐рд╕ рд╕рд╛рдЗрдмрд░ рдХреНрд▓рд╛рдЙрдб рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрд╛, рд╣рд╛рдореАрд▓реЗ рдорд╣рд╕реБрд╕ рдЧрд░реНрдпреМрдВ рдХрд┐ рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрдмрд╛рдЯ рдмрдЪреНрди рд╕рдХреНрджреИрдиреМрдВред рд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕рдХреЛ рдбрд┐рдЬрд╛рдИрди рд╕рдореНрдЭреМрддрд╛рд▓рд╛рдИ рдФрдкрдЪрд╛рд░рд┐рдХ рдирдЧрд░реА рдЕрд╕рдореНрднрд╡ рдЫ, рдЬрд╕рд▓реЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕рдХреЛ рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓рд╛рдИ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрджрдЫред

рддрд░ рдЬрдм рдПрдХ рдЙрддреНрдкрд╛рджрди рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рдШрдЯрдХ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рд░ рдЕрдиреБрдмрдВрдз рд╡рд┐рдХрд╛рд╕ рдПрдХ рдирд┐рдпрдорд┐рдд рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдиреНрдЫ, рддрдкрд╛рдИрд▓реЗ рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди рддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдХреВрд▓рди рдмрд╛рд░реЗ рд╕реЛрдЪреНрди рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рд╕реНрдкрд╖реНрдЯ рд╣реБрдиреНрдЫ рдХрд┐ рдЗрдиреНрдЯрд░рдлреЗрд╕ (рд╕рдореНрдЭреМрддрд╛) рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕) рдПрдХрдЕрд░реНрдХрд╛рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ, рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХрд╣рд░реВрд▓реЗ рдПрдЙрдЯреИ рдХрд╛рдорд╣рд░реВ рдПрдЙрдЯреИ рддрд░рд┐рдХрд╛рд▓реЗ рдЧрд░реНрдиреБрдкрд░реНрдЫ, рд░ рдпреА рд╕рдмреИ рдирд┐рд░реНрдгрдпрд╣рд░реВрдХреЛ рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдирд┐рд░реНрдгрдп рдмрд┐рдирд╛, рдкреНрд░рддреНрдпреЗрдХ рдЯреЛрд▓реАрд▓рд╛рдИ рдмрд╛рдзреНрдп рдкрд╛рд░рд┐рдиреЗрдЫред рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдмрд╛рд░рдореНрдмрд╛рд░ рд╕рдордп рдЦрд░реНрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рддреНрдпрд╕реЛрднрдП рдпреЛ RAML рд╣реЛ рд╡рд╛ OAS (Swagger)?
Amazon microservices рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдмрд╛рдЯ рдЯреНрд╡реАрдЯ рд╡рд░реНрдирд░ рднреЛрдЧреЗрд▓рд┐рд╕, рд╕реАрдЯреАрдУ рдЕрдореЗрдЬрди
рджреБрд╡рд┐рдзрд╛ рдХреЗ рд╣реЛ? рд╡рд╛рд╕реНрддрд╡рдорд╛, рддреНрдпрд╣рд╛рдБ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдиреЗ рджреБрдИ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН - HTTP рдЖрд░рд╛рдо рд░ Google рдмрд╛рдЯ gRPCред рдЧреБрдЧрд▓рдХреЛ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдлрд╕реНрди рдЪрд╛рд╣рдБрджреИрдирдиреН, рд╣рд╛рдореАрд▓реЗ HTTP рдЖрд░рд╛рдо рд░реЛрдЬреНрдпреМрдВред HTTP REST рдЕрдиреБрдмрдВрдз рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдкреНрд░рд╛рдпрдГ рджреБрдИ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛рдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдиреНрдЫ: RAML рд░ OAS, рдкрд╣рд┐рд▓реЗ Swagger рднрдиреЗрд░ рдЪрд┐рдирд┐рдиреНрдереНрдпреЛред рддреНрдпрд╕рдХрд╛рд░рдг, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрд▓реЗ рдорд╛рдирдХрд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛ рдЫрдиреЛрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддрд░ рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ, рдпреЛ рдЫрдиреМрдЯ рдЧрд░реНрди рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛ рд╣реБрди рд╕рдХреНрдЫред

рдПрдиреЛрдЯреЗрд╢рди рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫ?

рдПрдиреЛрдЯреЗрд╕рди рдЖрд╡рд╢реНрдпрдХ рдЫ рддрд╛рдХрд┐ рдмрд╛рд╣реНрдп рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ рдпрд╕рдХреЛ HTTP рдЗрдиреНрдЯрд░рдлреЗрд╕ рдорд╛рд░реНрдлрдд рддрдкрд╛рдИрдХреЛ рд╕реЗрд╡рд╛рд╕рдБрдЧ рдХреЗ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд╕рдХреНрдЫред рддреНрдпреЛ рд╣реЛ, рдЖрдзрд╛рд░рднреВрдд рд╕реНрддрд░рдорд╛, рдПрдиреЛрдЯреЗрд╕рдирдорд╛ рдХрдореНрддрд┐рдорд╛ рдЙрдкрд▓рдмреНрдз рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕реВрдЪреА, рддрд┐рдиреАрд╣рд░реВрдХреЛ HTTP рд╡рд┐рдзрд┐рд╣рд░реВ, рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдпрд╣рд░реВ, рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрдХреЛ рд╕реВрдЪреА, рдЖрд╡рд╢реНрдпрдХ рд░ рд╕рдорд░реНрдерд┐рдд рд╣реЗрдбрд░рд╣рд░реВрдХреЛ рд╕рдЩреНрдХреЗрдд, рд╕рд╛рдереИ рдлрд┐рд░реНрддрд╛ рдХреЛрдбрд╣рд░реВ рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдврд╛рдБрдЪрд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреБрдкрд░реНрдЫред рд╕рдореНрдЭреМрддрд╛ рдПрдиреЛрдЯреЗрд╕рдирдХреЛ рдПрдХ рдЕрддреНрдпрдиреНрдд рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдореМрдЦрд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реЛ ("рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЕрдиреБрд░реЛрдзрдорд╛ рдпреЛ рдХреНрд╡реЗрд░реА рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдердкреНрдиреБрднрдпреЛ рднрдиреЗ рдХреЗ рд╣реБрдиреЗрдЫ?", "рдХреБрди рдЕрд╡рд╕реНрдерд╛рдорд╛ рдХреЛрдб 400 рдлрд┐рд░реНрддрд╛ рд╣реБрдиреЗрдЫ?")

рдпрджреНрдпрдкрд┐, рдЬрдм рдпреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рдХреБрд░рд╛ рдЖрдЙрдБрдЫ, рддрдкрд╛рдЗрдБ рд▓рд┐рдЦрд┐рдд рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВрдмрд╛рдЯ рдердк рдореВрд▓реНрдп рдирд┐рдХрд╛рд▓реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, RAML/Swagger рдорд╛ рдЖрдзрд╛рд░рд┐рдд, рддрдкрд╛рдЗрдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдЧреНрд░рд╛рд╣рдХ рд░ рд╕рд░реНрднрд░ рдХреЛрдб рджреБрд╡реИ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрд▓реЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдпрд╕рд▓рд╛рдИ рдЖрдлреНрдиреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛-рдкреЛрд░реНрдЯрд▓рдорд╛ рдЕрдкрд▓реЛрдб рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ :)ред

рддреНрдпрд╕реЛрднрдП рдпреЛ RAML рд╣реЛ рд╡рд╛ OAS (Swagger)?
рд╕рдВрд░рдЪрд┐рдд рдЕрдиреБрдмрдВрдз рд╡рд┐рд╡рд░рдгрдХреЛ рдЙрджрд╛рд╣рд░рдг

рдЕрдиреБрдмрдВрдз рд╡рд┐рд╡рд░рдгрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдорд╛рдЗрдХреНрд░реЛ рд╕реЗрд╡рд╛рд╣рд░реВ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреЗ рдЕрднреНрдпрд╛рд╕ рдХрдо рд╕рд╛рдорд╛рдиреНрдп рд╣реЛред рдпрджрд┐ рддрдкрд╛рдЗрдБрд▓реЗ рдПрдиреЛрдЯреЗрд╕рди рд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рджреБрдмреИ рд▓реЗрдЦреНрдиреБрднрдПрдХреЛ рдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдПрдХ рд╕реНрд╡рдд: рдкрд░реАрдХреНрд╖рдг рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рдХреЛ рд╕рд╛рде рд╕реЗрд╡рд╛рдХреЛ рдкрд░реНрдпрд╛рдкреНрддрддрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред рдХреЗ рд╕реЗрд╡рд╛рд▓реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб рдлрд░реНрдХрд╛рдЙрдБрдЫ рдЬреБрди рдПрдиреЛрдЯреЗрд╕рдирдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫреИрди? рдХреЗ рдпрд╕рд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдЧрд▓рдд рдбрд╛рдЯрд╛рд▓рд╛рдИ рд╕рд╣реА рд░реВрдкрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫ?

рдпрд╕рдмрд╛рд╣реЗрдХ, рди рдХреЗрд╡рд▓ рдЕрдиреБрдмрдВрдзрд╣рд░реВрдХреЛ рдЙрдЪреНрдЪ-рдЧреБрдгрд╕реНрддрд░рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рддрд░ рдПрдиреЛрдЯреЗрд╢рдирд╣рд░реВ рднрд┐рдЬреБрдЕрд▓рд╛рдЗрдЬ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВрд▓реЗ рдкрдирд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рдХреЛ рд╕рд╛рде рдХрд╛рдорд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред рддреНрдпреЛ рд╣реЛ, рдпрджрд┐ рд╡рд╛рд╕реНрддреБрдХрд╛рд░рд▓реЗ рдЕрдиреБрдмрдВрдзрд▓рд╛рдИ рдЧреБрдгрд╛рддреНрдордХ рд░реВрдкрдорд╛ рд╡рд░реНрдгрди рдЧрд░реЗрдХреЛ рдЫ, рдпрд╕рдХреЛ рдЖрдзрд╛рд░рдорд╛, рдбрд┐рдЬрд╛рдЗрдирд░рд╣рд░реВ рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рд▓рд╛рдЧрдд рдмрд┐рдирд╛ рдЕрдиреНрдп рдЙрддреНрдкрд╛рджрдирд╣рд░реВрдорд╛ рд╕реЗрд╡рд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗрдЫрдиреНред

рдердк рдЙрдкрдХрд░рдгрд╣рд░реВ рд╕рдХреНрд╖рдо рдЧрд░реНрди, рджреБрдмреИ RAML рд░ OAS рд╕рдБрдЧ рдорд╛рдирдХ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ OAS рдорд╛ рдХрд╕рд░реА рдЧрд░рд┐рдиреНрдЫ).

рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд▓рдШреБ рд╕реЗрд╡рд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдмрдВрдзрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд░рдЪрдирд╛рддреНрдордХрддрд╛рдХреЛ рджрд╛рдпрд░рд╛ рдареВрд▓реЛ рдЫ... рдХрдорд╕реЗрдХрдо рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛ред

рд╕рд░реНрдкрд╕рдБрдЧ рд╣реЗрдЬрд╣рдЧрдХреЛ рддреБрд▓рдирд╛

рд╣рд╛рд▓, Acronis рдорд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд┐рдХрд╛рд╕ рдХреНрд╖реЗрддреНрд░ Acronis рд╕рд╛рдЗрдмрд░ рдкреНрд▓реЗрдЯрдлрд░реНрдо рдХреЛ рд╡рд┐рдХрд╛рд╕ рд╣реЛред Acronis рд╕рд╛рдЗрдмрд░ рдкреНрд▓реЗрдЯрдлрд░реНрдо рдПрдХреНрд░реЛрдирд┐рд╕ рд╕рд╛рдЗрдмрд░ рдХреНрд▓рд╛рдЙрдб рд░ рдПрдЬреЗрдиреНрдЯ рднрд╛рдЧрдХреЛ рд╕рд╛рде рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдПрдХреАрдХрд░рдгрдХреЛ рдирдпрд╛рдБ рдмрд┐рдиреНрджреБ рд╣реЛред рдпрджреНрдпрдкрд┐ рд╣рд╛рдореА RAML рдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рд╣рд╛рдореНрд░реЛ рдЖрдиреНрддрд░рд┐рдХ API рд╣рд░реВрд╕рдБрдЧ рдЦреБрд╕реА рдерд┐рдпреМрдВ, API рд▓рд╛рдИ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХрд▓реЗ рдлреЗрд░рд┐ рдЫрдиреМрдЯрдХреЛ рдкреНрд░рд╢реНрди рдЦрдбрд╛ рдЧрд░реНтАНрдпреЛ: рд╣рд╛рдореНрд░реЛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдХреБрди рдПрдиреЛрдЯреЗрд╕рди рдорд╛рдирдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЙрддреНрддрдо рдЫ?

рд╕реБрд░реБрдорд╛, рдпрд╕реНрддреЛ рд▓рд╛рдЧреНрдереНрдпреЛ рдХрд┐ рддреНрдпрд╣рд╛рдБ рджреБрдИ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдерд┐рдП - рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдирд╛рдХреНрд░рдорд╣рд░реВ RAML рд░ Swagger (рд╡рд╛ OAS) рдерд┐рдПред рддрд░ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдпреЛ рдмрд╛рд╣рд┐рд░рд┐рдпреЛ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдХрдореНрддрд┐рдорд╛ 2 рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫреИрдирдиреН, рддрд░ 3 рд╡рд╛ рдмрдвреА рдЫрдиреНред

рдПрдХ рддрд┐рд░ рддреНрдпрд╣рд╛рдБ RAML рдЫ - рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд░ рдХреБрд╢рд▓ рднрд╛рд╖рд╛ред рдпрд╕рд▓реЗ рдкрджрд╛рдиреБрдХреНрд░рдо рд░ рд╡рд┐рд░рд╛рд╕рддрд▓рд╛рдИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдврд╛рдБрдЪрд╛ рдареВрд▓рд╛ рдХрдореНрдкрдиреАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫ рдЬрд╕рд▓рд╛рдИ рдзреЗрд░реИ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫ - рддреНрдпреЛ рд╣реЛ, рдПрдЙрдЯрд╛ рдЙрддреНрдкрд╛рджрди рд╣реЛрдЗрди, рддрд░ рдзреЗрд░реИ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕рд╣рд░реВ рдЬрд╕рдорд╛ рдЕрдиреБрдмрдВрдзрд╣рд░реВрдХреЛ рд╕рд╛рдЭрд╛ рднрд╛рдЧрд╣рд░реВ рдЫрдиреН - рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпреЛрдЬрдирд╛рд╣рд░реВ, рд╕рдорд╛рди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ, рддреНрд░реБрдЯрд┐ рдирд┐рдХрд╛рдпрд╣рд░реВред ред

рддрд░ RAML рдХреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛, Mulesoft, Open API рдХрдиреНрд╕реЛрд░реНрдЯрд┐рдпрдордорд╛ рд╕рд╛рдореЗрд▓ рднрдПрдХреЛ рдЫ, рдЬреБрди рд╡рд┐рдХрд╛рд╕ рднрдЗрд░рд╣реЗрдХреЛ рдЫред рд╕реНрд╡реИрдЧрд░ред рддреНрдпрд╕реИрд▓реЗ RAML рд▓реЗ рдЖрдлреНрдиреЛ рд╡рд┐рдХрд╛рд╕ рд╕реНрдердЧрд┐рдд рдЧрд░реНрдпреЛред рдШрдЯрдирд╛рдХреЛ рдврд╛рдБрдЪрд╛ рдХрд▓реНрдкрдирд╛ рдЧрд░реНрди, рдХрд▓реНрдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдореБрдЦреНрдп рд▓рд┐рдирдХреНрд╕ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рдорд░реНрдорддрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ Microsoft рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░реНрди рдЫреЛрдбреЗред рдпреЛ рдЕрд╡рд╕реНрдерд╛рд▓реЗ рд╕реНрд╡реЗрдЧрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ, рдЬреБрди рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рд╡рд┐рдХрд╛рд╕ рд╣реБрдБрджреИрдЫ рд░ рдкрдЫрд┐рд▓реНрд▓реЛ - рддреЗрд╕реНрд░реЛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ - рд▓рдЪрд┐рд▓реЛрдкрди рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдкрдорд╛ RAML рд╕рдБрдЧ рдорд┐рд▓реНрдЫред

рдпрджрд┐ рдПрдХ рдХреБрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛрдЗрди рднрдиреЗ ...

рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ, рд╕рдмреИ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ OAS 3.0 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред рдЧреЛ рдорд╛ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рдЕрдиреБрдХреВрд▓рдирдХреЛ рдХрдореА рд╣реБрдиреЗрдЫ рд╣рд┐рдбреНрдиреЗ рдорд╛рдирдХ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреАред рдпрджреНрдпрдкрд┐ рд╕реНрд╡рд╛рдЧрд░ реи рд░ рд╕реНрд╡рд╛рдЧрд░ рей рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛ рдЫ рд╡рд┐рд╢рд╛рд▓ред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддреЗрд╕реНрд░реЛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ:

  • рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╡рд┐рд╡рд░рдг
  • рд╕рдорд╛рдкреНрдд JSON рд╕реНрдХреАрдорд╛ рд╕рдорд░реНрдерди
  • рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдердкреНрдиреЗ рдХреНрд╖рдорддрд╛ рдЕрдкрдЧреНрд░реЗрдб рдЧрд░рд┐рдпреЛ

рд╕реНрдерд┐рддрд┐ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЫ: рдорд╛рдирдХ рдЫрдиреМрдЯ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ RAML, Swagger 2 рд░ Swagger 3 рд▓рд╛рдИ рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдкрдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрджреНрдпрдкрд┐, рдХреЗрд╡рд▓ Swagger 2 рд╕рдБрдЧ OpenSource рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░реЛ рд╕рдорд░реНрдерди рдЫред RAML рдзреЗрд░реИ рд▓рдЪрд┐рд▓реЛ рд░ рдЬрдЯрд┐рд▓ рдЫ, рд░ Swagger 3 рдХрдореНрдпреБрдирд┐рдЯреАрджреНрд╡рд╛рд░рд╛ рдХрдордЬреЛрд░ рд░реВрдкрдорд╛ рд╕рдорд░реНрдерд┐рдд рдЫ, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдЙрдкрдХрд░рдг рд╡рд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ, рдЬреБрди рдзреЗрд░реИ рдорд╣рдБрдЧреЛ рд╣реБрдиреНрдЫред

рдпрд╕рдмрд╛рд╣реЗрдХ, рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рд╕реНрд╡рд╛рдЧрд░рдорд╛ рдзреЗрд░реИ рд░рд╛рдореНрд░рд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЫрдиреН, рдЬрд╕реНрддреИ рддрдпрд╛рд░ рдкреЛрд░реНрдЯрд▓ editor.swagger.io, рдЬрд╕рдорд╛ рддрдкрд╛рдЗрдБ рдПрдХ рдПрдиреЛрдЯреЗрд╕рди рдЕрдкрд▓реЛрдб рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг, рд▓рд┐рдЩреНрдХ рд░ рдЬрдбрд╛рдирдХреЛ рд╕рд╛рде рдпрд╕рдХреЛ рджреГрд╢реНрдп рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдердк рдЖрдзрд╛рд░рднреВрдд рд░ рдХрдо рдЕрдиреБрдХреВрд▓ RAML рдХреЛ рд▓рд╛рдЧреА рддреНрдпрд╕реНрддреЛ рдХреБрдиреИ рдЕрд╡рд╕рд░ рдЫреИрдиред рд╣реЛ, рддрдкрд╛рдЗрдБ GitHub рдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдмреАрдЪ рдХреЗрд╣рд┐ рдЦреЛрдЬреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╣рд╛рдБ рдПрдирд╛рд▓рдЧ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рдЖрдлреИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЬреЗ рд╣реЛрд╕реН, рдХреБрдиреИ рдкрдирд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдХрд╕реИрд▓реЗ рдкреЛрд░реНрдЯрд▓ рдХрд╛рдпрдо рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ, рдЬреБрди рдЖрдзрд╛рд░рднреВрдд рдкреНрд░рдпреЛрдЧ рд╡рд╛ рдкрд░реАрдХреНрд╖рдг рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рддреНрдпрддрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫреИрдиред рдердк рд░реВрдкрдорд╛, swagger рдЕрдзрд┐рдХ "рд╕рд┐рджреНрдзрд╛рдиреНрддрд╡рд┐рд╣реАрди", рд╡рд╛ рдЕрдзрд┐рдХ рдЙрджрд╛рд░ рдЫ - рдпреЛ рдХреЛрдбрдорд╛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдмрд╛рдЯ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬреБрди рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдПрдкреАрдЖрдИ рдкрд╣рд┐рд▓реЛ рд╕рд┐рджреНрдзрд╛рдиреНрдд рд╡рд┐рд░реБрджреНрдз рдЬрд╛рдиреНрдЫ рд░ RAML рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдЫреИрдиред

рдПрдХ рдкрдЯрдХ рд╣рд╛рдореАрд▓реЗ RAML рд╕рдБрдЧ рдердк рд▓рдЪрд┐рд▓реЛ рднрд╛рд╖рд╛рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВ, рд░ рдкрд░рд┐рдгрд╛рдо рд╕реНрд╡рд░реВрдк рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рдЪреАрдЬрд╣рд░реВ рдЖрдлреИрдВ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реБ рдордзреНрдпреЗ рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдЙрдкрдпреЛрдЧ рдЧрд░реНрджрдЫ ramlfications рдПрдХрд╛рдЗ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрдорд╛, рдЬрд╕рд▓реЗ рдХреЗрд╡рд▓ RAML 0.8 рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рддреНрдпрд╕реЛрднрдП рд╣рд╛рдореАрд▓реЗ рдмреИрд╕рд╛рдЦреАрд╣рд░реВ рдердкреНрдиреБрдкрд░реНтАНрдпреЛ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ RAML рд╕рдВрд╕реНрдХрд░рдг 1.0 "рдЦрд╛рди" рд╕рдХреЛрд╕реНред

рдХреЗ рддрдкрд╛рдЗрдБ рдЫрдиреМрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ?

RAML рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдХреЛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдкреВрд░рд╛ рдЧрд░реНрди рдХрд╛рдо рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рд╣рд╛рдореА рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдкреБрдЧреНрдпреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ RAML рд▓рд╛рдИ Swagger 2 рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрдкрд░реНрдЫ рд░ рдпрд╕рдорд╛ рд╕рдмреИ рд╕реНрд╡рдЪрд╛рд▓рди, рдкреНрд░рдорд╛рдгрд┐рдХрд░рдг, рдкрд░реАрдХреНрд╖рдг рд░ рддреНрдпрд╕рдкрдЫрд┐рдХреЛ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрдиреБрдкрд░реНрдЫред рдпреЛ RAML рдХреЛ рд▓рдЪрд┐рд▓реЛрдкрди рд░ Swagger рдмрд╛рдЯ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЯреВрд▓рд┐рдЩ рд╕рдорд░реНрдерди рджреБрд╡реИрдХреЛ рд▓рд╛рдн рдЙрдард╛рдЙрдиреЗ рд░рд╛рдореНрд░реЛ рддрд░рд┐рдХрд╛ рд╣реЛред

рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди, рддреНрдпрд╣рд╛рдБ рджреБрдИ рдУрдкрдирд╕реЛрд░реНрд╕ рдЙрдкрдХрд░рдгрд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рдЕрдиреБрдмрдВрдз рд░реВрдкрд╛рдиреНрддрд░рдг рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБрдкрд░реНрдЫ:

  1. oas-raml-converter рд╣рд╛рд▓ рдЕрд╕рдорд░реНрдерд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реЛред рдпрд╕рдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрджрд╛, рд╣рд╛рдореАрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреМрдВ рдХрд┐ рдпрд╕рдорд╛ рдЬрдЯрд┐рд▓ RAML рд╣рд░реВрдХрд╛ рд╕рд╛рде рдзреЗрд░реИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫрдиреН рдЬреБрди рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ "рдлреИрд▓рд┐рдПрдХреЛ" рдЫред рдпреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо JavaScript рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рд░реВрдЦ рдХреЛ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА traversal рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫред рдЧрддрд┐рд╢реАрд▓ рдЯрд╛рдЗрдкрд┐рдЩрдХреЛ рдХрд╛рд░рдгрд▓реЗ, рдпреЛ рдХреЛрдб рдмреБрдЭреНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореАрд▓реЗ рдорд░реНрдиреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрдпрд╛рдЪрд╣рд░реВ рд▓реЗрдЦреНрди рд╕рдордп рдмрд░реНрдмрд╛рдж рдирдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред
  2. webapi-рдкрд╛рд░реНрд╕рд░ - рдПрдЙрдЯреИ рдХрдореНрдкрдиреАрдмрд╛рдЯ рдПрдХ рдЙрдкрдХрд░рдг рдЬрд╕рд▓реЗ рдХреБрдиреИ рдкрдирд┐ рдХреБрд░рд╛ рд░ рд╕рдмреИ рдХреБрд░рд╛, рд░ рдХреБрдиреИ рдкрдирд┐ рджрд┐рд╢рд╛рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рддрдпрд╛рд░ рднрдПрдХреЛ рджрд╛рдмреА рдЧрд░реНрджрдЫред рдЖрдЬ рд╕рдореНрдо, RAML 0.8, RAML 1.0 рд░ Swagger 2.0 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрджреНрдпрдкрд┐, рд╣рд╛рдореНрд░реЛ рдЕрдиреБрд╕рдиреНрдзрд╛рдирдХреЛ рд╕рдордпрдорд╛, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЕрдЭреИ рдкрдирд┐ рдерд┐рдпреЛ рдЕрддреНрдпрдиреНрддреИ рдУрд╕рд┐рд▓реЛ рд░ рдЕрдиреБрдкрдпреЛрдЧреАред рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдПрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫрдиреН IR, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЪрд╛рдБрдбреИ рднрд╡рд┐рд╖реНрдпрдорд╛ рдирдпрд╛рдБ рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рдердкреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред рддрд░ рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рдпрд╕рд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрджреИрдиред

рд░ рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдордирд╛ рдЧрд░реЗрдХрд╛ рд╕рдмреИ рдХрдард┐рдирд╛рдЗрд╣рд░реВ рд╣реЛрдЗрдирдиреНред рд╣рд╛рдореНрд░реЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдХреЛ рдПрдЙрдЯрд╛ рдЪрд░рдг рднрдиреЗрдХреЛ рднрдгреНрдбрд╛рд░рдмрд╛рдЯ RAML рдирд┐рд░реНрджрд┐рд╖реНрдЯреАрдХрд░рдгрдХреЛ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рд╣реА рдЫ рднрдиреЗрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреБ рд╣реЛред рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреМрдВред рдЕрдЪрдореНрдордХреЛ рдХреБрд░рд╛, рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИрд▓реЗ рд╣рд╛рдореНрд░реЛ рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВрдорд╛ рд╡рд┐рднрд┐рдиреНрди рдард╛рдЙрдБрд╣рд░реВрдорд╛ рд░ рдкреВрд░реНрдгрддрдпрд╛ рдлрд░рдХ рдирд░рд╛рдореНрд░реЛ рд╢рдмреНрджрд╣рд░реВрд╕рдБрдЧ рдХрд╕рдо рдЦрд╛рдПред рд░ рд╕рдзреИрдВ рдмрд┐рдиреНрджреБрдорд╛ рд╣реЛрдЗрди :)ред

рдЕрдиреНрддрдорд╛, рд╣рд╛рдореА рдЕрд╣рд┐рд▓реЗ рдкреБрд░рд╛рдиреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдмрд╕реНрдпреМрдВ, рдЬрд╕рдорд╛ рдзреЗрд░реИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫрдиреН (рдХрд╣рд┐рд▓реЗрдХрд╛рдБрд╣реА рдпреЛ рдиреАрд▓реЛрдмрд╛рдЯ рдХреНрд░реНрдпрд╛рд╕ рд╣реБрдиреНрдЫ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╣реБрдиреНрдЫрдиреН)ред рдпрд╕рд░реА, рд╣рд╛рдореАрд▓реЗ рдирд┐: рд╢реБрд▓реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд░ рд░реВрдкрд╛рдиреНрддрд░рдгрдХреЛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдиреМрдВ, рд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред рднрд╡рд┐рд╖реНрдпрдорд╛, OpenSource рдЙрдкрдХрд░рдгрд╣рд░реВ рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ рд╣реБрдБрджреИ рдЬрд╛рдБрджрд╛, рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рд╣реБрди рд╕рдХреНрдЫред рдпрд╕ рдмреАрдЪрдорд╛, "рд╕рдорд╛рдкреНрдд" рдХреЛ рд▓рд╛рдЧреА рд╢реНрд░рдо рд░ рд╕рдордп рд▓рд╛рдЧрдд рд╣рд╛рдореАрд▓рд╛рдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрдд рднрдиреНрджрд╛ рдмрдвреА рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдЧреНрдереНрдпреЛред

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

рдпреА рд╕рдмреИ рдкрдЫрд┐, рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдереНрдпреМрдВ рд░ рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рд╕рдореНрдЭреМрддрд╛рд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдг рдЫрдиреМрдЯ рдЧрд░реНрдиреБ рдЕрдШрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рдмрд╛рдЯ рдХреЗ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рд░ рдХреБрди рдмрдЬреЗрдЯ рд▓рдЧрд╛рдиреА рдЧрд░реНрди рдЗрдЪреНрдЫреБрдХ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ OpenSource рдХреЛ рдмрд╛рд░реЗрдорд╛ рдмрд┐рд░реНрд╕реНрдпреМрдВ рднрдиреЗ, рддреНрдпрд╣рд╛рдБ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рд╕реЗрд╡рд╛рд╣рд░реВ рд░ рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЬрд╛рдБрдЪ рдЧрд░реНрди, рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫред рддрд░ рддрд┐рдиреАрд╣рд░реВ рдорд╣рдБрдЧреЛ рдЫрдиреН, рд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдзреЗрд░реИ рдорд╣рдБрдЧреЛред рдареВрд▓рд╛ рдХрдореНрдкрдиреАрдХреЛ рд▓рд╛рдЧрд┐, рддреНрдпрд╕реНрддрд╛ рд▓рд╛рдЧрддрд╣рд░реВ рд╕рд╣рди рдпреЛрдЧреНрдп рдЫрдиреН, рддрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдХреЛ рд▓рд╛рдЧрд┐ рддрд┐рдиреАрд╣рд░реВ рдареВрд▓реЛ рдмреЛрдЭ рд╣реБрди рд╕рдХреНрдЫрдиреНред

рддрдкрд╛рдИрдВрд▓реЗ рдкрдЫрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд╕реЗрдЯ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рднрд░реНрдЦрд░реИ рдПрдЙрдЯрд╛ рд╕рдореНрдЭреМрддрд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рдпреЛ Swagger 2 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреЗрдЫ, рдЬрд╕рдорд╛ рдПрдХ рд╕реБрдиреНрджрд░ API рдЫ, рдХрд┐рдирднрдиреЗ RAML рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рд╕реЗрд╡рд╛ рдЖрдлреИрдВ рдирд┐рд░реНрдорд╛рдг рд░ рдорд░реНрдордд рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫред
рддрдкрд╛рдИрдВрд╕рдБрдЧ рдЬрддрд┐ рдзреЗрд░реИ рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН, рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдлрд░рд╛рдХрд┐рд▓реЛ рд╣реБрдиреЗрдЫ, рд░ рддрд┐рдиреАрд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдлрд░рдХ рдЫрдиреН, рд░ рднрд╡рд┐рд╖реНрдпрдорд╛ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрддрд╣рд░реВ рдХрдо рдЧрд░реНрдиреЗ рдЫрдиреМрдЯ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рддреБрд░реБрдиреНрддреИ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреБ рд░рд╛рдореНрд░реЛ рд╣реБрдиреНрдЫред

рддрд░ рдЖрдЬ рдЕрд╡рд╕реНрдерд┐рдд рд╕рдмреИ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдорд╣рд░реВ рдЕрдкреВрд░реНрдг рдЫрдиреН рднрдиреА рдорд╛рдиреНрди рд▓рд╛рдпрдХ рдЫред рддреНрдпрд╕рдХрд╛рд░рдг, рдпрджрд┐ рдХрдореНрдкрдиреАрдорд╛ рддреНрдпрд╣рд╛рдБ рдлреНрдпрд╛рдирд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ RAML рдорд╛ рдХрд╛рдо рдЧрд░реНрди рдорди рдкрд░рд╛рдЙрдБрдЫрдиреН рдХрд┐рдирднрдиреЗ "рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдердк рд▓рдЪрд┐рд▓реЛ рд░реВрдкрдорд╛ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рд╡реНрдпрдХреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ," рд╡рд╛, рдпрд╕рдХреЛ рд╡рд┐рдкрд░реАрдд, Swagger рд▓рд╛рдИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджрд┐рдиреБрд╣реБрдиреНрдЫ рдХрд┐рдирднрдиреЗ "рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЫ," рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╛рдо рдЧрд░реНрди рдЫреЛрдбреНрдиреБ рдЙрддреНрддрдо рд╣реБрдиреНрдЫред рддрд┐рдиреАрд╣рд░реВ рдХреЗ рд╣реБрдиреН рддрд┐рдиреАрд╣рд░реВ рдпрд╕рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рд░ рдпреЛ рдЪрд╛рд╣рдиреНрдЫрдиреН, рдХрд┐рдирднрдиреЗ рдХреБрдиреИ рдкрдирд┐ рдврд╛рдБрдЪрд╛рдХрд╛ рдЙрдкрдХрд░рдгрд╣рд░реВрд▓рд╛рдИ рдлрд╛рдЗрд▓рд╕рдБрдЧ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЪрд╛рд╣рд┐рдиреНрдЫред

рд╣рд╛рдореНрд░реЛ рдЕрдиреБрднрд╡рдХреЛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрди рдкреЛрд╖реНрдЯрд╣рд░реВрдорд╛ рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ RAML-Swagger рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдХреЛ рдЖрдзрд╛рд░рдорд╛ рд╣рд╛рдореА рдХреБрди рд╕реНрдерд┐рд░ рд░ рдЧрддрд┐рд╢реАрд▓ рдЬрд╛рдБрдЪрд╣рд░реВ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрдЫреМрдВ, рд╕рд╛рдереИ рд╣рд╛рдореАрд▓реЗ рд╕рдореНрдЭреМрддрд╛рд╣рд░реВрдмрд╛рдЯ рдХреБрди рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдЫреМрдВ, рд░ рдпреЛ рд╕рдмреИ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫреМрдВ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВред

рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдЗрди рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНрдХреГрдкрдпрд╛

рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛ рд╕рдореНрдЭреМрддрд╛рд╣рд░реВ рдПрдиреЛрдЯреЗрдЯ рдЧрд░реНрди рддрдкрд╛рдИрдВ рдХреБрди рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ?

  • RAML реж.рео

  • RAML реж.рео

  • рд╕реНрд╡реЗрдЧрд░ рел

  • OAS3 (рдЙрд░реНрдл)

  • рдЦрд╛рдХрд╛

  • ╨Ф╤А╤Г╨│╨╛╨╣

  • рдкреНрд░рдпреЛрдЧ рдирдЧрд░реНрдиреЗ

100 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред реи рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди