рдмрд╣реБрдд рдмрд╛рд░ рдЬрдм рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рд╢рд╛рдпрдж рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣реА рд╕рдорд╕реНрдпрд╛), рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж рдХреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдмреИрдХрдПрдВрдб рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕реНрдерд┐рддрд┐ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╡рд┐рдХрд╛рд╕ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдмреИрдХрдПрдВрдб рдмрд╕ рд▓рд┐рдЦрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдХрд╛рд╕ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ 2-4 рдорд╣реАрдиреЗ рдХреА рджреЗрд░реА рд╣реЛрддреА рд╣реИ
рдХрднреА-рдХрднреА рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдХреНрд░реИрд╢), рдХрднреА-рдХрднреА рдЗрд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд░реЛрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдбреЗрдЯрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ, рдЖрджрд┐ред рдЗрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдиреЗ рд╣рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рдореЙрдХрд░ рд╕реЗрд╡рд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреИрдХрдПрдВрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдкрд░ рдХреИрд╕реЗ рдЖрдпрд╛?рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдЖрдпрд╛? рдХрдВрдкрдиреА рдореЗрдВ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╕рд╛рд▓ рдЦрддреНрдо рд╣реЛ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдПрдХ рдирдП рдИ-рдХреЙрдорд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓рдЧрд╛ рджрд┐рдпрд╛ред рдкреНрд░рдмрдВрдзрдХ рдиреЗ рдХрд╣рд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ 4 рдорд╣реАрдиреЗ рдореЗрдВ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреИрдХрдПрдВрдб рдЯреАрдо (рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░) 1.5 рдорд╣реАрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░реЗрдЧреАред рдФрд░ рдЗрд╕ рджреМрд░рд╛рди рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдпреВрдЖрдИ-рдлреАрдЪрд░реНрд╕ рдлреЗрдВрдХрдиреЗ рд╣реЛрдВрдЧреЗред
рдореИрдВрдиреЗ рдПрдХ рдореЛрдЪ рдмреИрдХреЗрдВрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдПрдХ рдЖрдИрдУрдПрд╕ рдбреЗрд╡рд▓рдкрд░ рдмрди рдЧрдпрд╛, рдореИрдВрдиреЗ рдпреВрдПрдирдЖрдИ рдореЗрдВ .NET рдХреЗ рд╕рд╛рде рдЦреЗрд▓рд╛)ред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕рд░рд▓ рдерд╛: рдПрдХ рджрд┐рдП рдЧрдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕реНрдЯрдм рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдЬреЛ рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЗрдЧрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд╕ рдкрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
2 рд╕рдкреНрддрд╛рд╣ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЫреБрдЯреНрдЯреА рдкрд░ рдЧрдпрд╛ рдФрд░ рд╕реЛрдЪрд╛: "рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рдирд╣реАрдВ рдкреИрджрд╛ рдХрд░реВрдВ?" рдЗрд╕рд▓рд┐рдП 2 рд╕рдкреНрддрд╛рд╣ рдХреА рдЫреБрдЯреНрдЯреА рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рджреБрднрд╛рд╖рд┐рдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ APIBlueprint рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ .NET рд╡реЗрдм рдРрдк (C # рдХреЛрдб) рдЬреЗрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдЗрд╕ рдЪреАрдЬ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рд╣рдо рд▓рдЧрднрдЧ 2.5 рдорд╣реАрдиреЗ рддрдХ рдЙрд╕ рдкрд░ рд░рд╣рддреЗ рдереЗред рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛, рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдХрд┐рддрдиреА рдорджрдж рдорд┐рд▓реА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдХрд╣рд╛ рдХрд┐ рдпрджрд┐ рд╡рд╣ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереЗ, рддреЛ рдХреЛрдИ рд░рд┐рд▓реАрдЬ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдЕрдм, рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ (рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдереЗ) рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдзрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред
рдЗрд╕ рдЕрд╡рд╕рд░ рдХреЛ рд▓реЗрддреЗ рд╣реБрдП - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕рд▓рд╛рд╣ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдФрд░ рдЙрди рдиреЗрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реА "рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдордирдорд╛рдиреА" рдХреЛ рд╕рд╣рди рдХрд┐рдпрд╛ред
рдкрд░рд┐рдЪрдп
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХреЛрдИ рднреА рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░реАрди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 1 рдХреНрд╡реЗрд░реА (рдФрд░ рдЕрдХреНрд╕рд░ рдЕрдзрд┐рдХ) рд╣реЛрддреА рд╣реИред рд╕реНрдХреНрд░реАрди рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрднреА-рдХрднреА рд╣рдо рддрдм рддрдХ рд╕рдВрдХреНрд░рдордг рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬрдм рддрдХ рдХрд┐ рд╕рд░реНрд╡рд░ рд╣рдореЗрдВ "рдмрдЯрди рджрд┐рдЦрд╛рдПрдВ" рдирд╣реАрдВ рдмрддрд╛рддрд╛ред рдпрд╣реА рд╣реИ, рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╣реБрдд рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рди рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рддрддреНрдХрд╛рд▓ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди, рдмрд▓реНрдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЪрд░рдг рдореЗрдВ рднреАред рд╕рд╛рд░ рдЙрддреНрдкрд╛рдж рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

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

- рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдзреАрдореА рдФрд░ рдЕрдзрд┐рдХ рджрд░реНрджрдирд╛рдХ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛рдПрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЙрди рд╕реНрдЯрдмреНрд╕ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
- рдмрд╛рдж рдореЗрдВ рд╣рдордиреЗ рд╕рднрд╛ рдХреЛ рджреБ: рдЦ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛, рдпрд╣ рдЙрди рдкрд░реАрдХреНрд╖рдХреЛрдВ рдХреЛ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЖрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ, рдЖрдзрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИред рдирддреАрдЬрддрди, рд╡реЗ рдХрдИ рдХреАрдбрд╝реЗ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ: рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рджреГрд╢реНрдп рджреЛрдиреЛрдВред
- рдЦреИрд░, "рд╡реЗ рдХреИрд╕реЗ рджрд┐рдЦ рд╕рдХрддреЗ рдереЗ" рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рдмрд╕реЗ рдЕрдкреНрд░рд┐рдп рд╢реБрд░реБрдЖрдд рд╣реЛрддреА рд╣реИред рдЧреНрд░рд╛рд╣рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ 1-2 рдорд╛рдорд▓реЛрдВ рдХреЛ рд╣рд░ рд╕рдВрднрд╡ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдирд┐рд╡реЗрд╢рдХреЛрдВ рдХреЛ рдирд╣реАрдВ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдбрд╛рдЙрдирд╣рд┐рд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╣реЛрддреА рд╣реИрдВ: рдХрднреА-рдХрднреА рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдЖрдзрд╛ рд╕рд╛рд▓, рдХрднреА-рдХрднреА рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рд░реНрд╡рд░ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдпрд╛ рдЖрдкрдХреЛ рдЙрди рд╕реАрдорд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреА рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рднреБрдЧрддрд╛рди рдирд┐рдпрдд рддрд╛рд░реАрдЦ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдХрд╛ рд╣реИ рддреЛ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ (рдФрд░ рд▓рдВрдмрд╛) рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:
- рд╕рд░реНрд╡рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд╛рдпрдм рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЗрд╕реЗ рдбрд┐рдЬрд╛рдЗрди, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
- рд╕рд░реНрд╡рд░ рдХреЗ рдкрд╛рд╕ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рд╣рдо рд╕реАрдорд╛ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд░реНрд╡рд░ рд▓рдВрдмреЗ рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИред
- рдкрд░реАрдХреНрд╖рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЛ рдзрдордХреА рджреЗрдирд╛ред
- рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдПрдХ рдмрд╛рд░, рд╕реНрдерд┐рд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рд╣рдордиреЗ 3.5 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдЦреЛ рджрд┐рдпрд╛ рд╣реИ)ред
рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЙрдХрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдХрд╛рд░реНрдп рд╕рд┐рджреНрдзрд╛рдВрдд
Mocker рдПрдХ рдЫреЛрдЯреА рд╡реЗрдм рд╕реЗрд╡рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╣реАрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЛрд░реНрдЯ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЕрдиреБрдХреНрд░рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
1. рдЧреНрд░рд╛рд╣рдХ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред
2. Mocker рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
3. Mocker рд╡рд╛рдВрдЫрд┐рдд рдирдХрд▓реА рдкрд╛рддрд╛ рд╣реИред
4. рдореЙрдХ рд╡рд╛рдВрдЫрд┐рдд рдореЙрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЕрдВрдХ 1,2 рдФрд░ 4 рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ 3 рдкреНрд░рд╢реНрди рдЙрдард╛рддрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХреИрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╣рдо рдкрд╣рд▓реЗ рд╕реНрд╡рдпрдВ рдореЙрдХ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рдореНрди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ Mock рдПрдХ JSON рдлрд╝рд╛рдЗрд▓ рд╣реИ:
{ "url": "string", "method": "string", "statusCode": "number", "response": "object", "request": "object" }
рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред
рдпреВрдЖрд░рдПрд▓
рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ URL рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди
host.dom/path/to/endpoint
рдХреЛ url рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ
url
рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╣рдореЗрдВ
/path/to/endpoint
рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣реА рд╣реИ, рдпрд╣ рдлрд╝реАрд▓реНрдб
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ
рд╕рд╛рдкреЗрдХреНрд╖ рдкрде рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ url- рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рддреН рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ:
/path/to/endpoint
- рд╕рд╛рдорд╛рдиреНрдп рдпреВрдЖрд░рдПрд▓ рдкрддрд╛ред рдЬрдм рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕реЗрд╡рд╛ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдг рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдЧреАред/path/to/endpoint/{number}
- рдкрде рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдпреВрдЖрд░рдПрд▓ред рдЗрд╕ рддрд░рд╣ рдХреЗ URL рд╡рд╛рд▓рд╛ Mock рдЗрд╕ рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрд░реЛрдз рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдЧрд╛ред/path/to/endpoint/data?param={value}
- рдкреИрд░рд╛рдореАрдЯрд░-рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдпреВрдЖрд░рдПрд▓ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд╕рд╛рде рдирдХрд▓реА рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рд╡рд╛рд▓реЗ рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рдПрдЧрд╛ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, URL рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдХреЗ, рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирдХрд▓реА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдЖрд░рдПрд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рдзрд┐
рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд http рд╡рд┐рдзрд┐ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
POST
рдпрд╛
GET
ред
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХреЗрд╡рд▓ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
statusCode
рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП http рд╕реНрдерд┐рддрд┐ рдХреЛрдб рд╣реИред рдпрд╣реА рд╣реИ, рдЗрд╕ рдирдХрд▓реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдХреЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрдЯреЗрдЯрд╕рдХреЛрдб рдлрд╝реАрд▓реНрдб рдореЗрдВ рджрд░реНрдЬ рдХреА рдЧрдИ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
рдЗрд╕ рдлрд╝реАрд▓реНрдб рдореЗрдВ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЙрд╕рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкреНрд░рд╛рд░реНрдердирд╛
рдпрд╣ рдЕрдиреБрд░реЛрдз рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рд╣реИ рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрддреНрддрд░ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
{ "url": "/auth", "method": "POST", "statusCode": 200, "response": { "token": "cbshbg52rebfzdghj123dsfsfasd" }, "request": { "login": "Tester", "password": "Valid" } }
{ "url": "/auth", "method": "POST", "statusCode": 400, "response": { "message": "Bad credentials" }, "request": { "login": "Tester", "password": "Invalid" } }
рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рд╢рд░реАрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ:
{ "login": "Tester", "password": "Valid" }
рдлрд┐рд░ рдЬрд╡рд╛рдм рдореЗрдВ рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛:
{ "token": "cbshbg52rebfzdghj123dsfsfasd" }
рдФрд░ рдЕрдЧрд░ рд╣рдо рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╢рд░реАрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛:
{ "login": "Tester", "password": "Invalid" }
рдлрд┐рд░ рдЬрд╡рд╛рдм рдореЗрдВ рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛:
{ "message": "Bad credentials" }
рдФрд░ рд╣рдо рдЧрд▓рдд рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдорд╛рдорд▓реЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдПред
рдФрд░ рдЕрдм рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд moq рдХреЗ рдХрд╛рдо рдХреЛ рдХреИрд╕реЗ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдирд╛ рдФрд░ рдЦреЛрдЬрдирд╛ рд╣реИред

рд╡рд╛рдВрдЫрд┐рдд рдореЙрдХ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рд╕рднреА рдореЛрдХреЛрдВ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдореВрд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдКрдкрд░ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░ рд╕рдореВрд╣реАрдХрд░рдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреА рд╣реИред
рд╕рд░реНрд╡рд░
url рдФрд░
рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдмреАрдЪ, рддрд╛рдХрд┐ рд╣рдо рдПрдХ рдпреВрдЖрд░рдПрд▓ рдкрд░ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдХреНрд╕ рдмрдирд╛ рд╕рдХреЗрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреБрд▓-рдЯреВ-рд░рд┐рдлреНрд░реЗрд╢ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЦреАрдВрдЪрддреЗ рд░рд╣реЗрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрддреНрддрд░ рдЖрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдХреНрд░реАрди рдХреА рд╕реНрдерд┐рддрд┐ рд╣рд░ рд╕рдордп (рд╕рднреА рд╕реАрдорд╛ рдорд╛рдорд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдмрджрд▓рддреА рд╣реИред
рдлрд┐рд░ рд╣рдо рдПрдХ рд╣реА
рд╡рд┐рдзрд┐ рдФрд░
рдпреВрдЖрд░рдПрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдХреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд░реНрд╡рд░ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд░реВрдк рд╕реЗ (рдмрджрд▓реЗ рдореЗрдВ) рд╣рдореЗрдВ рд▓реМрдЯрд╛ рджреЗрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореЛрдХ рд╣реИрдВ:
{ "url": "/products", "method": "GET", "statusCode": 200, "response": { "name": "product", "currency": 1, "value": 20 } }
{ "url": "/products", "method": "GET", "statusCode": 200, "response": { "name": "gdshfjshhkfhsdgfhshdjgfhjkshdjkfsfgbjsfgskdf", "currency": 5, "value": 100000000000 } }
{ "url": "/products", "method": "GET", "statusCode": 200, "response": null }
{ "url": "/products", "method": "GET", "statusCode": 400, "response": null }
рдлрд┐рд░, рдЬрдм рд╣рдо рдкрд╣рд▓реА рдмрд╛рд░ GET / рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдЙрддреНрддрд░ рдорд┐рд▓реЗрдЧрд╛:
{ "name": "product", "currency": 1, "value": 20 }
рдЬрдм рд╣рдо рджреВрд╕рд░реА рдмрд╛рд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрдЯреНрд░реЗрдЯрд░ рдкреЙрдЗрдВрдЯрд░ рдЕрдЧрд▓реЗ рддрддреНрд╡ рдкрд░ рд╢рд┐рдлреНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓реМрдЯреЗрдЧрд╛:
{ "name": "gdshfjshhkfhsdgfhshdjgfhjkshdjkfsfgbjsfgskdf", "currency": 5, "value": 100000000000 }
рдФрд░ рд╣рдо рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЧрд░ рд╣рдореЗрдВ рдХреБрдЫ рдмрдбрд╝реЗ рдореВрд▓реНрдп рдорд┐рд▓рддреЗ рд╣реИрдВ рддреЛ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдЦреИрд░, рдФрд░ рдЬрдм рд╣рдо рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рдлрд┐рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрдЯреНрд░реЗрдЯрд░ рдкрд╣рд▓реЗ рддрддреНрд╡ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред
рдХреИрд╢рд┐рдВрдЧ рдкреНрд░реЙрдХреНрд╕реА
Mocker рдкреНрд░реЙрдХреНрд╕реА рдореЛрдб рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдХреЛрдИ рд╕реЗрд╡рд╛ рдХрд┐рд╕реА рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рддреЛ рд╡рд╣ рдЙрд╕ рд╣реЛрд╕реНрдЯ рдХрд╛ рдкрддрд╛ рдирд┐рдХрд╛рд▓рддреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рд╕реНрдХреАрдо (рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдлрд┐рд░ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз (рдЙрд╕рдХреЗ рд╕рднреА рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЗ рд╕рд╛рде, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╡рд┐рдзрд┐ рдХреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдареАрдХ рд╣реИ, рдЖрдкрдХрд╛
Authorization: Bearer ...
рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд
Authorization: Bearer ...
) рдФрд░ рдЙрд╕рд╕реЗ рд╕реЗрд╡рд╛ рдЬрд╛рдирдХрд╛рд░реА (рдЙрд╕реА
host
рдФрд░
scheme
) рдХреЛ рдХрд╛рдЯ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред
200 рд╡реЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореЙрдХрд░ рдиреЗ рдореЙрдХ рдлрд╛рдЗрд▓ рдХреЗ рдЙрддреНрддрд░ рдХреЛ рд╕рд╣реЗрдЬрд╛ (рд╣рд╛рдВ, рдЖрдк рдЗрд╕реЗ рддрдм рдХреЙрдкреА рдпрд╛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рди рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдерд╛рди рдкрд░ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рддрдм рдЙрдирдХреЗ рд╕рд╛рде рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Mocker рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд URL рдкрд░ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ:
hostname.dom/main/products/loans/info
ред рдлрд┐рд░ рдпрд╣ рдПрдХ
hostname.dom
рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдЧрд╛, рдлрд┐рд░ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдпрд╣ рдПрдХ
main
рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдЧрд╛, рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ
products
рдлрд╝реЛрд▓реНрдбрд░ ...
рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдореЛрдХреНрд╕ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг
http-method (GET, PUT ...) рдФрд░
рдЕрд╕рд▓реА рд╕рд░реНрд╡рд░ рдХреЗ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдмреЙрдбреА рд╕реЗ рд╣реИрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрддреНрддрд░ рдкрд░ рдПрдХ рдирдХрд▓реА рд╣реИ, рддреЛ рдпрд╣ рдмрд╕ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз рдореЗрдВ рддреАрди рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдЬреЛрдбрд╝реЗрдВ:
X-Mocker-Redirect-Is-On: "true", X-Mocker-Redirect-Host: "hostaname.ex:1234", X-Mocker-Redirect-Scheme: "http"
рдореЛрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрдд
рдХрднреА-рдХрднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореЙрдХрд░ рдХреЗрд╡рд▓ рдЙрди рдореЛрдХ рдХреЛ рд▓реМрдЯрд╛рдПрдВ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рди рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рднреАред
рдЦрд╛рд╕рддреМрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХред рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдореЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдФрд░ рдлрд┐рд░, рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рдХреНрдпреВрдП рдмрд╕ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЪреБрдкрдЪрд╛рдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдореЛрдХреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╢реЛрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЕрдм рдпрд╣ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
X-Mocker-Specific-Path: path
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЙрдХрд░ рдХреЗ рдореВрд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рд╣реИ
root/ block_card_test_case/ mocks.... main_test_case/ blocked_test_case/ mocks...
рдпрджрд┐ рдЖрдкрдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд╛рд░реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓рд╛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ
X-Mocker-Specific-Path: block_card_test_case
рдпрджрд┐ рдЖрдкрдХреЛ рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рд▓реЙрдХ рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ
X-Mocker-Specific-Path: main_test_case/blocked_test_case
рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдкрд╣рд▓реЗ рддреЛ рд╣рдордиреЗ рд╕реАрдзреЗ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЛрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореЛрдХ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдЕрдм рд╣рдо CloudCommander рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рдореЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЦреИрд░, рдмреЛрдирд╕ рдПрдХ рд╡реЗрдм-рд╕рдВрдкрд╛рджрдХ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдореЛрдХреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ / рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рднреА рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рд╣реИред рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдореЗрдВред рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдЬреАрдУрдЖрдИ рд╕реЗ рдЗрд╕ рдбреАрдмреА рддрдХ рдЦреБрдж рдореЛрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рддреИрдирд╛рддреА
Mocker рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ Docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЙрдХрдЯрд░ рд╕реЗ рд╕реЗрд╡рд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддреИрдирд╛рдд рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЛрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдбреЙрдХрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕реНрд░реЛрдд рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд:
git clone https://github.com/LastSprint/mocker.git cd mocker go build .
рдлрд┐рд░ рдЖрдкрдХреЛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ (
рдЙрджрд╛рд╣рд░рдг ) рд▓рд┐рдЦрдиреЗ рдФрд░ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
mocker config.json
рдЬреНрдЮрд╛рдд рдореБрджреНрджреЗ
- рдкреНрд░рддреНрдпреЗрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ
curl mockerhost.dom/update_models
рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕реЗрд╡рд╛ рдлрд┐рд░ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝реЗред рдореБрдЭреЗ рдЗрд╕реЗ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ - рдХрднреА-рдХрднреА CloudCommander рдмрдЧреНрд╕ (рдпрд╛ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ рд╣реИ) рдФрд░ рдпрд╣ рд╕рдВрдкрд╛рджрди moki рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдП рдЧрдП рдереЗред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреИрд╢ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╕реЗрд╡рд╛ рдХреЗрд╡рд▓
application/json
рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИред рдпреЛрдЬрдирд╛рдПрдВ form-url-encoding
рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо
Mocker рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИ рдЬрдм рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рд╕реЗрд╡рд╛ рдЖрдкрдХреЛ рдПрдХ рд╣реА URL рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЖрдкрдХреЛ url рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдпрд╛ рд╕реАрдзреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдмреЙрдбреА рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред
рд╕реЗрд╡рд╛ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╣реЛрд╕реНрдЯ рдкрддреЗ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реИрдВ рдФрд░ рд╢рд╛рдпрдж, рд╣рдо рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдЧрд┐рдЯрд╣рдм рднрдВрдбрд╛рд░ ред