This commit is contained in:
tanner0101 2017-05-19 16:38:55 +01:00
parent 3f70d3c523
commit 29203c9e84
2 changed files with 6 additions and 5 deletions

File diff suppressed because one or more lines are too long

View File

@ -1690,11 +1690,12 @@
<h2 id="resources">Resources<a class="headerlink" href="#resources" title="Permanent link">&para;</a></h2>
<p>Controllers that conform to <code>ResourceRepresentable</code> can be easily registered into a router as a RESTful resource. Let's look at an example of a <code>UserController</code>.</p>
<div class="codehilite"><pre><span></span><span class="kr">final</span> <span class="kd">class</span> <span class="nc">UserController</span> <span class="p">{</span>
<span class="kd">func</span> <span class="nf">index</span><span class="p">(</span><span class="kc">_</span> <span class="n">request</span><span class="p">:</span> <span class="n">Request</span><span class="p">)</span> <span class="kr">throws</span> <span class="p">-&gt;</span> <span class="n">ResponseRepresentable</span> <span class="p">{</span>
<span class="k">return</span> <span class="k">try</span> <span class="n">User</span><span class="p">.</span><span class="n">all</span><span class="p">().</span><span class="n">makeNode</span><span class="p">().</span><span class="n">converted</span><span class="p">(</span><span class="n">to</span><span class="p">:</span> <span class="n">JSON</span><span class="p">.</span><span class="kc">self</span><span class="p">)</span>
<span class="kd">func</span> <span class="nf">index</span><span class="p">(</span><span class="kc">_</span> <span class="n">req</span><span class="p">:</span> <span class="n">Request</span><span class="p">)</span> <span class="kr">throws</span> <span class="p">-&gt;</span> <span class="n">ResponseRepresentable</span> <span class="p">{</span>
<span class="k">return</span> <span class="k">try</span> <span class="n">User</span><span class="p">.</span><span class="n">all</span><span class="p">().</span><span class="n">makeJSON</span><span class="p">()</span>
<span class="p">}</span>
<span class="kd">func</span> <span class="nf">show</span><span class="p">(</span><span class="kc">_</span> <span class="n">request</span><span class="p">:</span> <span class="n">Request</span><span class="p">,</span> <span class="kc">_</span> <span class="n">user</span><span class="p">:</span> <span class="n">User</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="n">ResponseRepresentable</span> <span class="p">{</span>
<span class="kd">func</span> <span class="nf">show</span><span class="p">(</span><span class="kc">_</span> <span class="n">req</span><span class="p">:</span> <span class="n">Request</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="n">ResponseRepresentable</span> <span class="p">{</span>
<span class="kd">let</span> <span class="nv">user</span> <span class="p">=</span> <span class="k">try</span> <span class="n">req</span><span class="p">.</span><span class="n">parameters</span><span class="p">.</span><span class="n">next</span><span class="p">(</span><span class="n">User</span><span class="p">.</span><span class="kc">self</span><span class="p">)</span>
<span class="k">return</span> <span class="n">user</span>
<span class="p">}</span>
<span class="p">}</span>