рд╣рдо REST API рдХреЛ Vert.x рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рднрд╛рдЧ 1: рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛

рд╣рд╛рдп, рд╣рд░рдмреМрд╕рд░ред рд▓реЗрдЦреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ, рд╣рдо Vert.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ REST API рд▓рд┐рдЦреЗрдВрдЧреЗред рдЪрд▓реЛ рдПрдХ рд╕рд░рд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ: рдЦреБрдж рдХреЛ рд▓рдВрдмрд╡рдд рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЖрдИрдбреАрдИ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рдирд╛ред


рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА

Vert.x рдЬрд╛рд╡рд╛ рджреБрдирд┐рдпрд╛ рд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдиреЛрдб.рдЬреЗрдПрд╕ рд╣реИред рдпрд╣ рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреА рдЕрдкрдиреА рдмрдбрд╝реА рд╕реВрдЪреА (рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп: рдЬрд╛рд╡рд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЧреНрд░реВрд╡реА, рдкрд╛рдпрдерди, рд░реВрдмреА, рдХреНрд▓реАрдЬреБрд░, рд╕реНрдХрд╛рд▓рд╛) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рдПрдХрд▓ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рдЕрд╡рд░реБрджреНрдз рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИред

рдврд╛рдВрдЪреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА:
vertx.io/manual.html - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдореИрдиреБрдЕрд▓
habrahabr.ru/post/181686 - рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдм рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдПрдХрдорд╛рддреНрд░ рдкреЛрд╕реНрдЯ

рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, IDE рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдирдореВрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдПрдБред

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

vertx version

рдФрд░ рд╡рд╣ рдпрд╣ рд╣реИред рдврд╛рдВрдЪреЗ рдХреЗ рдореБрдЦреНрдп рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рд╕рд╛рджрдЧреА рд╣реИред

рдЕрдЧрд▓рд╛, рдЕрдкрд╛рдЪреЗ рдорд╛рд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

mvn archetype:generate -Dfilter=io.vertx:

рд╣рдо io.vertx рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ: рд╡рд░реНрдзрдорд╛рди (рдкрд╛рдпрд╛ рдЧрдпрд╛ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╡рд╣рд╛рдБ рд╕реЗ рдХреЛрдИ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ) рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдЧреНрд░реБрдкрдЖрдИрдбреА, рдЖрд░реНрдЯрд┐рдлреАрд╕рд┐рдПрдб, рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдореВрд▓ рдкреИрдХреЗрдЬред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рддрджрдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ: com.example, vertx-example, 1.0.0-SNAPSHOT, com.exampleред рдЬрд╛рдБрдЪ рд▓реЗрдВ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗ:

mvn install

рдпрджрд┐ рдЖрдк BUILD SUCCESS рд╕рдВрджреЗрд╢ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:



рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╢реБрднрд╛рд░рдВрдн рд╕реЗрдЯ рдХрд░реЗрдВред рдореИрдВрдиреЗ IntelliJ IDEA рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдиреНрдп IDE рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рд╢реАрд░реНрд╖-рдХреЛрд░, рд╡рд░реНрдЯреЗрдХреНрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдФрд░ рд╡рд░реНрдЯреЗрдХреНрд╕-рд╣реЗрдЬрд╝рд▓рдХрд╛рд╕реНрдЯ рдкреИрдХреЗрдЬ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЕрдм рдЙрдирдХреЗ рд▓рд┐рдП рдЧреБрдВрдЬрд╛рдЗрд╢ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, IDE рдореЗрдВ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреЛ рдорд╛рд╡реЗрди рдкреНрд░реЛрдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВрдЧреЗ: рдПрдХ рдЖрдИрдбреАрдИ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рд╕реАрдзреЗ vert.x рдкрд░ рдЪрд▓реЗрдЧрд╛, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ pom.xml рдореЗрдВ рдирд┐рдореНрди рдкрд╛рда рдЬреЛрдбрд╝реЗрдВ:
     <рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓>
         <рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓>
             <id> рд╕реНрдерд╛рдиреАрдп </ id>
             <рдЧреБрдг>
                 <vertx-рдЧреБрдВрдЬрд╛рдЗрд╢> рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ </ vertx-рдЧреБрдВрдЬрд╛рдЗрд╢>
             </ рдЧреБрдг>
         </ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓>
         <рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓>
             <id> рдкрд░рд┐рдирд┐рдпреЛрдЬрди </ id>
             <рдЧреБрдг>
                 <vertx-рдЧреБрдВрдЬрд╛рдЗрд╢> рдкреНрд░рджрд╛рди рдХреА рдЧрдИ </ vertx-рдЧреБрдВрдЬрд╛рдЗрд╢>
             </ рдЧреБрдг>
         </ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓>
     </ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓>


рдФрд░ рд╡рд░реНрдЯрд┐рдХрд▓ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЧреБрдВрдЬрд╛рдЗрд╢ рдмрджрд▓реЗрдВ:

         <рдирд┐рд░реНрднрд░рддрд╛>
             <groupId> io.vertx </ groupId>
             <рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп> рд▓рдВрдм-рдХреЛрд░ </ рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп>
             <рд╕рдВрд╕реНрдХрд░рдг> $ {vertx.version} </ рд╕рдВрд╕реНрдХрд░рдг>
             <рд╕реНрдХреЛрдк> $ {vertx-рд╕реНрдХреЛрдк} </ рд╕реНрдХреЛрдк>
         </ рдирд┐рд░реНрднрд░рддрд╛>
         <рдирд┐рд░реНрднрд░рддрд╛>
             <groupId> io.vertx </ groupId>
             <рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп> рд▓рдВрдм-рдордВрдЪ </ рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп>
             <рд╕рдВрд╕реНрдХрд░рдг> $ {vertx.version} </ рд╕рдВрд╕реНрдХрд░рдг>
             <рд╕реНрдХреЛрдк> $ {vertx-рд╕реНрдХреЛрдк} </ рд╕реНрдХреЛрдк>
         </ рдирд┐рд░реНрднрд░рддрд╛>
         <рдирд┐рд░реНрднрд░рддрд╛>
             <groupId> io.vertx </ groupId>
             <рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп> рдЕрдиреБрд▓рдВрдм-рд╣реЗрдЬрд╝реЗрд▓рдХрд╛рд╕реНрдЯ </ рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп>
             <рд╕рдВрд╕реНрдХрд░рдг> $ {vertx.version} </ рд╕рдВрд╕реНрдХрд░рдг>
             <рд╕реНрдХреЛрдк> $ {vertx-рд╕реНрдХреЛрдк} </ рд╕реНрдХреЛрдк>
         </ рдирд┐рд░реНрднрд░рддрд╛>


рдПрдХ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдВ:



рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рд╣рдо org.vertx.java.platform.impl.cli.Starter рд╕рд╛рде рдПрдХ рдЗрдирдкреБрдЯ рдмрд┐рдВрджреБ рдФрд░ runmod com.example~vertx-example~1.0-SNAPSHOT рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВред рддрд░реНрдХ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЪрд▓рд╛рдирд╛ рд╣реИред рдирд╛рдордХрд░рдг рддрд░реНрдХ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ: groupId ~ рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп ~ рд╕рдВрд╕реНрдХрд░рдгред

рдЕрдм рдЖрдк рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХрдВрд╕реЛрд▓ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдирд┐рдореНрди рдХреЗ рд╕рдорд╛рди рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 Apr 08, 2014 5:47:39 рдЕрдкрд░рд╛рд╣реНрди org.vertx.java.core.log.impl.JULLogDelegate рдЬрд╛рдирдХрд╛рд░реА
 рдЬрд╛рдирдХрд╛рд░реА: PingVerticle рдХреА рд╢реБрд░реБрдЖрдд рд╣реБрдИ
 Apr 08, 2014 5:47:39 рдЕрдкрд░рд╛рд╣реНрди org.vertx.java.core.log.impl.JULLogDelegate рдЬрд╛рдирдХрд╛рд░реА
 рдЬрд╛рдирдХрд╛рд░реА: рдореЙрдбреНрдпреВрд▓ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣рд╛


рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЖрд╡реЗрджрди рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред

рдкрд░рд┐рдгрд╛рдореА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб GitHub: github.com/X3H4/vertx-example рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ

Source: https://habr.com/ru/post/In218733/


All Articles