Koa 使用 Decorator 装饰路由
<h2 id="引言"><a href="#引言" class="headerlink" title="引言"></a>引言</h2><p>在 koa 里使用路由一般都是这样写<br><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">const</span> router = requier(<span class="string">'koa-router'</span>)</span><br><span class="line">router.get(<span class="string">'/users'</span>, <span class="keyword">async</span> (ctx, next) => {</span><br><span class="line"> ctx.body = <span class="string">'users'</span></span><br><span class="line">})</span><br></pre></td></tr></table></figure></p>
<p>这样的路由设置显得不是那样的直观,而反观 Java 中 Spring 的写法,就感觉更简洁以及更优雅<br><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">@Controller</span></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">UserController</span> </span>{</span><br><span class="line"> <span class="meta">@RequestMapping</span>(<span class="string">'/users'</span>)</span><br><span class="line"> <span class="function">String <span class="title">Users</span><span class="params">()</span> </span>{</span><br><span class="line"> <span class="keyword">return</span> <span class="string">'users'</span>;</span><br><span class="line"> }</span><br><span class="line">}</span><br></pre></td></tr></table></figure></p>