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

MVC рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреИрдЯрд░реНрди рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╣реИред рдпрд╣ рдкреИрдЯрд░реНрди рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ?MVC рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред рд╡рд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ 3 рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ:
- рдореЙрдбрд▓ - рдореЙрдбрд▓ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
- рджреГрд╢реНрдп - рджреГрд╢реНрдпрдкрдЯрд▓ рдкрд░ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
- рдирд┐рдпрдВрддреНрд░рдХ - рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╡рд╣ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

DispatcherServlet рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?рдпрд╣ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рд▓рд┐рдП MVC рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рдореБрдЦреНрдп рд╕рд░реНрд╡рд▓реЗрдЯ рд╣реИ рдЬреЛ рдирд┐рдпрдорд┐рдд рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдЕрдиреБрд░реЛрдз рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдпрд╣ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрдВрдЬреАрдХреГрдд рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред
- ViewResolver рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рдирд╛рдореЛрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рдХреЗ рджреГрд╢реНрдп рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ
- рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХрд╛ рдЧрдпрд╛

рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреНрдпрд╛ рд╣реИ?- рдЕрдиреБрд░реЛрдз DispatcherServlet рдореЗрдВ рдЖрддрд╛ рд╣реИ
- DispatcherServlet рдЕрдиреБрд░реЛрдз рдкрд░ URL рд╕реЗ рдЖрдзрд╛рд░рд┐рдд рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ
- рдирд┐рдпрдВрддреНрд░рдХ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рдкрд░рдд рдХреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ
@Service
(рдЖрдорддреМрд░ рдкрд░ рдпреЗ @Service
рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рд╡рд░реНрдЧ рд╣реЛрддреЗ рд╣реИрдВ), рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ @Service
рд╡рд╛рдкрд╕ рднреЗрдЬрддрд╛ рд╣реИ - DispatcherServlet ViewResolver рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдиреАрдЪреЗ рдЗрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбрд▓ рдХреЛ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╕рд╛рдордиреЗ рднреЗрдЬрддрд╛ рд╣реИ
рдбрд┐рд╕реНрдкреИрдЪрд░рд╕рд░реНрд╡рд▓реЗрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?ApplicationContext рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ DS рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЧ 3.2 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, WebApplicationInitializer рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд┐рд╕реЗ AbstractAnnotationConfigDispatcherServletInitialize рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
AbstractAnnotationConfigDispatcherServletInitializer рджреЛрдиреЛрдВ рдбрд┐рд╕реНрдкреИрдЪрд░рд╕рд░реНрд╡рд▓реЗрдЯ рдФрд░ ContextLoaderListener рдмрдирд╛рддрд╛ рд╣реИред
DS рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
- Web.xml рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ
- рдЕрдзрд┐рднрд╛рд╡реА рд╕рд╛рд░
WebApplicationContext рдХреНрдпрд╛ рд╣реИ? рд╡рд╣ рдХреНрдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреЛрдк рд▓рд╛рддрд╛ рд╣реИ?рдпрд╣ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрджрд░реНрдн рд╣реИред
рдЗрд╕рдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд ApplicationConext рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕реЗ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдорд╛рдирдХ рд╕рд░реНрд╡рд▓реЗрдЯ рдПрдкреАрдЖрдИ рдХреЗ рддрд░реАрдХреЗ рднреА рд╣реИрдВред
рдиреЛрдЯ: рд╕реНрдХреЛрдк рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИред
рд╕рддреНрд░ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?рд╕рддреНрд░ scoped рдмреАрди рдПрдХ рд╕реЗрдо рд╣реИ рдЬреЛ рд╕рддреНрд░ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдЖрджрд┐ рдореЗрдВ рдЯреЛрдХрд░реА рдмрдирд╛рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
MVC рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдХреЛрдк рдХреНрдпрд╛ рд╣реИ?рдмрд╕ MVC рдХреЗ рдмрд┐рдирд╛ рд╡рд╕рдВрдд рдореЗрдВ - рд╕рд┐рдВрдЧрд▓рдЯрдиред
@Controller рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?рдХрдВрдЯреНрд░реЛрд▓рд░ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ http рдЕрдиреБрд░реЛрдз рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд░реНрдЧ-рд╕реНрддрд░реАрдп рдПрдиреЛрдЯреЗрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдШрдЯрдХ рдПрдиреЛрдЯреЗрд╢рди рд╣реЛрддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рдПрдХ рдирд┐рдпрдорд┐рдд POJO рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рдеред
рдЗрдирдХрдорд┐рдВрдЧ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдореИрдк рдХреЛ рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ?- DispatcherServlet рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
- DS рдореЗрдВ
HandlerMapping
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ HandlerMapping
- рд╣реИрдВрдбрд▓рд░ рд╡рд╣рд╛рдВ рд╡рд┐рдзрд┐ рдвреВрдВрдврддрд╛ рд╣реИ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ
- рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИ
рд╣рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди @RequestMapping рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВрдпрд╣ рдПрдиреЛрдЯреЗрд╢рди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдЖрд░рдЖрдИ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реЗ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ URI, http рд╡рд┐рдзрд┐, рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░, рдЖрджрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ред рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЗрд╕реЗ рдПрдиреЛрдЯреЗрд╢рди @GetMapping, @PostMapping, рдЖрджрд┐ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдпреВрдЖрд░рдЖрдИ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдиреЛрдЯреЗрд╢рди @GetMapping, @PostMapping, @DeleteMapping рдФрд░ рдЕрдиреНрдп рдХреНрдпрд╛ рд╣реИрдВ?Http рддрд░реАрдХреЛрдВ рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЗ рд╕рдВрдХреАрд░реНрдг рдПрдиреЛрдЯреЗрд╢рди рд╣реИрдВред
@GetMapping
- рд╣реИрдВрдбрд▓ рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ@PostMapping
- рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ@DeleteMapping
- рд╣реИрдВрдбрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ@PutMapping
- рд╣реИрдВрдбрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ@PatchMapping
- рдкреИрдЪ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ
рдиреАрдЪреЗ рд▓рд┐рдЦрд╛ рд╕рдм рдХреБрдЫ рдЕрдиреНрдп рдПрдиреЛрдЯреЗрд╢рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рд╣реИред
рдПрдиреЛрдЯреЗрд╢рди @GetMapping рдХреЗрд╡рд▓ рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ @RequestMapping (рд╡рд┐рдзрд┐ = RequestMethod.GP) рд╢рд╛рдорд┐рд▓ рд╣реИ ред
рдпрд╣ рдЖрдкрдХреЛ рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ (рд╡реЗ рд╕рдорд╛рди @RequestMapping рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ):
path
- рдпреВрдЖрд░рдЖрдИheaders
- рд╣реЗрдбрд░name
- рд╣реИрдВрдбрд▓рд░ рдирд╛рдоparams
- рдкреИрд░рд╛рдореАрдЯрд░produces
- рд▓реМрдЯрд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░ (JSON, XML, рдкрд╛рда)ред REST рдореЗрдВ рдкреНрд░рдпреБрдХреНрддconsumes
- рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░ред REST рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдиреЛрдЯреЗрд╢рди рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдкрде рд▓реЗрддрд╛ рд╣реИред
@GetMapping("managers") = @GetMapping(path = "managers")
@RequestParam рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?рдЗрд╕ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдПрдХ HTTP рдЕрдиреБрд░реЛрдз рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдорд┐рд▓ рд╕рдХреЗред
рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрд░реЛрдз: http://localhost:8080/getByName/name=Ivan
ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ Ivan
рдХреЛ рдЪрд░ name
рдореЗрдВ рдбрд╛рд▓ рджреЗрдЧрд╛ред
@GetMapping("getByName") public User getUserByName(@RequestParam("name") String name) {
@PathVariable рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?рдЗрд╕ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдпреВрдЖрд░рдЖрдИ рд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧ рдорд┐рд▓рддрд╛ рд╣реИред
URI: http://localhost:8080/getById/23
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб id
рдЪрд░ рдореЗрдВ 23
рдбрд╛рд▓ рджреЗрдЧрд╛ред
@GetMapping("getById/_{id}_") public User getUserById(@PathVariable("id") String id) {
рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреМрди рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕реНрд╡реАрдХреГрдд рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдлрд┐рд░ рд╡рд╕рдВрдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╛рдВрдЫрд┐рдд HttpSession рдСрдмреНрдЬреЗрдХреНрдЯ, рд╕реБрд░рдХреНрд╖рд╛, рдЖрджрд┐ред
@GetMapping public User getUserById(HttpSession session) {
рдХрд┐рди рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЕрдВрдЧреНрд░реЗрдЬреА) рд╡рд┐рдзрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдХреНрдпрд╛ рдПрдиреЛрдЯреЗрд╢рди рд╣реИрдВ?@MatrixVariable
- рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ URI рд╕реЗ рдПрдХ рдирд╛рдо-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред@RequestHeader
- рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╡реЗрдм рдЕрдиреБрд░реЛрдз рдХреЗ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред@CookieValue
- рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреБрдХреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рдХреБрдХреА рдореВрд▓реНрдп рдХреЗ рдПрдХ рдкреНрд░рдХрд╛рд░ (рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЗрдВрдЯ, рдЖрджрд┐) рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред@ModelAttribute
- рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдирд╛рдорд┐рдд рдореЙрдбрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдЬреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред@SessionAtribute
- рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рддреНрд░ рд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
@RequestBody рдПрдиреЛрдЯреЗрд╢рди рдХреНрдпрд╛ рд╣реИ?рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреА рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ JSON, XML, рдкрд╛рда рдЖрджрд┐ рднреЗрдЬрддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ REST рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИ?рд▓реМрдЯреА рд╣реБрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдЙрдирдХрд╛ рд╡рд┐рд╡рд░рдг (рдЕрдВрдЧреНрд░реЗрдЬреА) рдХреНрдпрд╛ рдПрдХ рджреГрд╢реНрдп рд╣реИ?рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА рдХрдИ рд╡реНрдпреВ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ (рдЗрдиреНрд╣реЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) - рдЬреЗрдПрд╕рдкреА, рдЬреЗрдПрд╕рдПрдл, рдерд╛рдЗрдореЗрд▓рдл, рдЖрджрд┐ред
рджреЗрдЦреЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд┐рдпрдорд┐рдд рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рд╡реНрдпреВ рдХреЛ рдХреИрд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?рдбрд┐рд╕реНрдкреИрдЪрд░рд╕рд░реНрд╡рд▓реЗрдЯ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ "рдореИрдкрд░реНрд╕" рдХреА рдПрдХ рд╕реВрдЪреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕рдореЗрдВ рд╡реЗ рдбрд┐рдмреНрдмреЗ рд╣реЛрдВрдЧреЗ рдЬреЛ ViewResolver рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЗрдЦреЗрдВ:
- рдирд┐рдпрдВрддреНрд░рдХ DispactherServlet рдореЗрдВ рдирд╛рдо рджреГрд╢реНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ
ViewResolver
рдореЗрдВ рдирд╛рдо рдХреЗ рдирдХреНрд╢реЗ рдХрд╛ рдирд╛рдо- рдпрджрд┐ рдПрдХ рдЙрдкрдпреБрдХреНрдд
ViewResolver
рдЬрд╛рддрд╛ ViewResolver
, рддреЛ рдпрд╣ рд╡рд╣ рджреГрд╢реНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реЗрдВрдбрд░ рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред - рдбреАрдПрд╕ рджреГрд╢реНрдп рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ (рдПрдЪрдЯреАрдПрдордПрд▓ рдкреЗрдЬ) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдПрдХ рдореЙрдбрд▓ рдХреНрдпрд╛ рд╣реИ?рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдореЙрдбрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
рдореЙрдбрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рджреГрд╢реНрдп рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рджреГрд╢реНрдп Customer
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЙрдбрд▓ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП customerName
, customerPhone
, рдФрд░ рдЗрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдореЙрдбрд▓ рд╕реЗ рдореВрд▓реНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред