From 463f5e5b9d16dda75b9038ea84d96c9082d8a8e8 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Thu, 29 Jan 2015 11:11:08 +0100 Subject: [PATCH] parameter binding --- Sda2/Ref/Fig/jaxRs.svg | 894 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 858 insertions(+), 36 deletions(-) diff --git a/Sda2/Ref/Fig/jaxRs.svg b/Sda2/Ref/Fig/jaxRs.svg index fdc02f841..b412bcb91 100644 --- a/Sda2/Ref/Fig/jaxRs.svg +++ b/Sda2/Ref/Fig/jaxRs.svg @@ -25,10 +25,10 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.3828889" - inkscape:cx="526.18109" - inkscape:cy="372.04724" + inkscape:cx="386.97974" + inkscape:cy="521.43753" inkscape:document-units="px" - inkscape:current-layer="g5148" + inkscape:current-layer="g5983" showgrid="true" inkscape:window-width="1920" inkscape:window-height="1176" @@ -3629,21 +3629,27 @@ id="tspan3742"></order></tspan></text> </g> <g - style="display:inline" + style="display:none" inkscape:label="HTTP Methods for RESTful Services" id="g5148" inkscape:groupmode="layer"> - <text - sodipodi:linespacing="125%" - id="text5150" - y="44.094482" - x="10" - style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" - xml:space="preserve"><tspan - y="44.094482" + <a + id="a3771" + xlink:href="http://www.restapitutorial.com/lessons/httpmethods.html" + xlink:title="http://www.restapitutorial.com/lessons/httpmethods.html"> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" x="10" - id="tspan5152" - sodipodi:role="line">HTTP Methods for RESTful Services</tspan></text> + y="44.094482" + id="text5150" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5152" + x="10" + y="44.094482" + style="fill:#0000ff">HTTP Methods for RESTful Services</tspan></text> + </a> <text xml:space="preserve" style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" @@ -3676,11 +3682,11 @@ sodipodi:role="line" id="tspan5214" x="1160" - y="864.09448"> </tspan><tspan + y="864.09448" /><tspan sodipodi:role="line" x="1160" y="894.09448" - id="tspan5216"> </tspan><tspan + id="tspan5216" /><tspan sodipodi:role="line" x="1160" y="924.09448" @@ -3692,7 +3698,7 @@ sodipodi:role="line" x="1160" y="984.09448" - id="tspan5222"> </tspan></text> + id="tspan5222" /></text> <text xml:space="preserve" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" @@ -3908,6 +3914,833 @@ id="path5346-5" inkscape:connector-curvature="0" /> </g> + <g + style="display:none" + inkscape:label="GET - reading objects" + id="g3775" + inkscape:groupmode="layer"> + <rect + style="color:#000000;fill:#eeffaa;stroke:#ffeeaa;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect6153-2" + width="867.76477" + height="369.34277" + x="2.2352576" + y="274.75171" /> + <rect + style="color:#000000;fill:#ffeeaa;stroke:#ffeeaa;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect6153" + width="320" + height="40" + x="10" + y="84.094482" /> + <text + sodipodi:linespacing="125%" + id="text3777" + y="44.094482" + x="10" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" + xml:space="preserve"><tspan + y="44.094482" + x="10" + id="tspan3779" + sodipodi:role="line">GET - reading objects</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="555.32715" + y="86.335442" + id="text3781" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3783" + x="555.32715" + y="86.335442" /></text> + <text + sodipodi:linespacing="125%" + id="text3785" + y="188.14537" + x="104.81695" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="188.14537" + x="104.81695" + id="tspan3787" + sodipodi:role="line" /></text> + <text + sodipodi:linespacing="125%" + id="text3789" + y="304.09448" + x="20" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + id="tspan3837" + y="304.09448" + x="20" + sodipodi:role="line">HTTP/1.1 200 OK</tspan><tspan + y="331.59448" + x="20" + sodipodi:role="line" + id="tspan4108">Content-Type: application/xml</tspan><tspan + y="359.09448" + x="20" + sodipodi:role="line" + id="tspan4112"><products></tspan><tspan + y="386.59448" + x="20" + sodipodi:role="line" + id="tspan4114"> <product id="111"></tspan><tspan + y="414.09448" + x="20" + sodipodi:role="line" + id="tspan4116"> <link rel="self" href="http://example.com/products/111"/></tspan><tspan + y="441.59448" + x="20" + sodipodi:role="line" + id="tspan4118"> <name>iPhone</name></tspan><tspan + y="469.09448" + x="20" + sodipodi:role="line" + id="tspan4120"> <cost>$199.99</cost></tspan><tspan + y="496.59448" + x="20" + sodipodi:role="line" + id="tspan4122"> </product></tspan><tspan + y="524.09448" + x="20" + sodipodi:role="line" + id="tspan4124"> <product id="222"></tspan><tspan + y="551.59448" + x="20" + sodipodi:role="line" + id="tspan4130"> ...</tspan><tspan + y="579.09448" + x="20" + sodipodi:role="line" + id="tspan4132"> </product></tspan><tspan + y="606.59448" + x="20" + sodipodi:role="line" + id="tspan4134">...</tspan><tspan + y="634.09448" + x="20" + sodipodi:role="line" + id="tspan4136"></products></tspan></text> + <text + sodipodi:linespacing="125%" + id="text3789-3" + y="114.09448" + x="20" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="114.09448" + x="20" + sodipodi:role="line" + id="tspan4136-6">GET /products HTTP/1.1</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6Fa);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 150,144.09448 0,100" + id="path4257" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> + <g + inkscape:groupmode="layer" + id="g5983" + inkscape:label="POST -creating objects" + style="display:inline"> + <rect + style="color:#000000;fill:#ffeeaa;stroke:#ffeeaa;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect6153-08" + width="540" + height="230" + x="10" + y="64.094482" /> + <rect + style="color:#000000;fill:#eeffaa;stroke:#ffeeaa;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect6153-2-7" + width="790" + height="290" + x="10" + y="444.09448" /> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" + x="10" + y="44.094482" + id="text5985" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5987" + x="10" + y="44.094482">POST - creating objects</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5989" + y="86.335442" + x="555.32715" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="86.335442" + x="555.32715" + id="tspan5991" + sodipodi:role="line" /></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="104.81695" + y="188.14537" + id="text5993" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5995" + x="104.81695" + y="188.14537" /></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="20" + y="474.09448" + id="text5997" + sodipodi:linespacing="125%"><tspan + id="tspan6023" + sodipodi:role="line" + x="20" + y="474.09448">HTTP/1.1 201 Created</tspan><tspan + sodipodi:role="line" + x="20" + y="501.59448" + id="tspan6135">Content-Type: application/xml</tspan><tspan + sodipodi:role="line" + x="20" + y="529.09448" + id="tspan6137">Location: <tspan + style="fill:#ff0000" + id="tspan6251">http://example.com/orders/233</tspan></tspan><tspan + sodipodi:role="line" + x="20" + y="556.59448" + id="tspan6139" /><tspan + sodipodi:role="line" + x="20" + y="584.09448" + id="tspan6141"><order <tspan + style="fill:#ff0000" + id="tspan6249">id="233"</tspan>></tspan><tspan + sodipodi:role="line" + x="20" + y="611.59448" + id="tspan6143"> <link rel="self" href="http://example.com/orders/233"/></tspan><tspan + sodipodi:role="line" + x="20" + y="639.09448" + id="tspan6145"> <total>$199.02</total></tspan><tspan + sodipodi:role="line" + x="20" + y="666.59448" + id="tspan6147"> <date>December 22, 2008 06:56</date></tspan><tspan + sodipodi:role="line" + x="20" + y="694.09448" + id="tspan6149">...</tspan><tspan + sodipodi:role="line" + x="20" + y="721.59448" + id="tspan6151"></order></tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + x="20" + y="94.094482" + id="text6025" + sodipodi:linespacing="125%"><tspan + id="tspan6027" + sodipodi:role="line" + x="20" + y="94.094482">POST /orders HTTP/1.1</tspan><tspan + sodipodi:role="line" + x="20" + y="121.59448" + id="tspan6031">Content-Type: application/xml</tspan><tspan + sodipodi:role="line" + x="20" + y="149.09448" + id="tspan6033"></tspan><tspan + sodipodi:role="line" + x="20" + y="176.59448" + id="tspan6035"><order></tspan><tspan + sodipodi:role="line" + x="20" + y="204.09448" + id="tspan6037"> <total>$199.02</total></tspan><tspan + sodipodi:role="line" + x="20" + y="231.59448" + id="tspan6039"> <date>December 22, 2008 06:56</date></tspan><tspan + sodipodi:role="line" + x="20" + y="259.09448" + id="tspan6041">...</tspan><tspan + sodipodi:role="line" + x="20" + y="286.59448" + id="tspan6043"></order></tspan></text> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path6029" + d="m 560,164.09448 60,0 0,270" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6Fa);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + style="color:#000000;fill:#ffeeaa;stroke:#ffeeaa;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect6153-0" + width="320" + height="40" + x="-370" + y="-105.90552" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="22.416842" + y="427.36621" + id="text6253" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6255" + x="22.416842" + y="427.36621">Adding database identity</tspan></text> + </g> + <g + style="display:none" + inkscape:label="Binding HTTP methods" + id="g6257" + inkscape:groupmode="layer"> + <text + xml:space="preserve" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="53.511169" + y="381.0863" + id="text6263" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6265" + x="53.511169" + y="381.0863" /></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="144.09448" + id="text6267" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="10" + y="144.09448" + id="tspan6269">➢ <tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace" + id="tspan6305">@javax.ws.rs.<tspan + style="fill:#ff0000" + id="tspan6364">GET </tspan></tspan></tspan></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" + x="10" + y="44.094482" + id="text6985-4" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6987-3" + x="10" + y="44.094482">Binding HTTP methods</tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="540" + y="204.09448" + id="text6267-2" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="540" + y="204.09448" + id="tspan6269-3">➢ <tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace" + id="tspan6305-9">@javax.ws.rs.<tspan + style="fill:#ff0000" + id="tspan6370">DELETE </tspan></tspan></tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="204.09448" + id="text6267-7" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="10" + y="204.09448" + id="tspan6269-36">➢ <tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace" + id="tspan6305-0">@javax.ws.rs.<tspan + style="fill:#ff0000" + id="tspan6372">HEAD </tspan></tspan></tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="540" + y="144.09448" + id="text6267-8" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="540" + y="144.09448" + id="tspan6269-0">➢ <tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace" + id="tspan6305-92">@javax.ws.rs.<tspan + style="fill:#808000" + id="tspan6368"><tspan + style="fill:#ff0000" + id="tspan6374">POST </tspan></tspan></tspan></tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="264.09448" + id="text6267-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="10" + y="264.09448" + id="tspan6269-5">➢ <tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace" + id="tspan6305-4">@javax.ws.rs.<tspan + style="fill:#ff0000" + id="tspan6366">PUT </tspan></tspan></tspan></text> + <text + sodipodi:linespacing="125%" + id="text6450-4" + y="464.09448" + x="170" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="464.09448" + x="170" + id="tspan6452-9" + sodipodi:role="line">@Path("/customers")</tspan><tspan + id="tspan6454-8" + y="504.09448" + x="170" + sodipodi:role="line">public class CustomerService {</tspan><tspan + y="544.09448" + x="170" + sodipodi:role="line" + id="tspan6472-2" /><tspan + style="fill:#ff0000" + id="tspan6458-2" + y="584.09448" + x="170" + sodipodi:role="line"> @GET</tspan><tspan + id="tspan6460-5" + y="624.09448" + x="170" + sodipodi:role="line"> @Produces("application/xml")</tspan><tspan + id="tspan6466-0" + y="664.09448" + x="170" + sodipodi:role="line"> public String getAllCustomers() {...}</tspan><tspan + id="tspan6468-6" + y="704.09448" + x="170" + sodipodi:role="line">}</tspan></text> + </g> + <g + inkscape:groupmode="layer" + id="g6398" + inkscape:label="Binding: Template parameters" + style="display:none"> + <text + sodipodi:linespacing="125%" + id="text6400" + y="381.0863" + x="53.511169" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="381.0863" + x="53.511169" + id="tspan6402" + sodipodi:role="line" /></text> + <text + sodipodi:linespacing="125%" + id="text6412" + y="44.094482" + x="10" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" + xml:space="preserve"><tspan + y="44.094482" + x="10" + id="tspan6414" + sodipodi:role="line">Binding: Template parameters</tspan></text> + <text + sodipodi:linespacing="125%" + id="text6450" + y="124.09448" + x="20" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + id="tspan6468" + y="124.09448" + x="20" + sodipodi:role="line">@Path("/")</tspan><tspan + y="164.09448" + x="20" + sodipodi:role="line" + id="tspan6553">public class CustomerResource {</tspan><tspan + y="204.09448" + x="20" + sodipodi:role="line" + id="tspan6555"></tspan><tspan + y="244.09448" + x="20" + sodipodi:role="line" + id="tspan6557"> @GET</tspan><tspan + y="284.09448" + x="20" + sodipodi:role="line" + id="tspan6559"> @Path("customers/{<tspan + style="fill:#ff0000" + id="tspan6575">firstname</tspan>}-{<tspan + style="fill:#808000" + id="tspan6579">lastname</tspan>}")</tspan><tspan + y="324.09448" + x="20" + sodipodi:role="line" + id="tspan6561"> public String getCustomer(</tspan><tspan + y="364.09448" + x="20" + sodipodi:role="line" + id="tspan6573"> @PathParam("<tspan + style="fill:#ff0000" + id="tspan6581">firstname</tspan>") String <tspan + style="fill:#ff0000" + id="tspan6585">first</tspan>,</tspan><tspan + y="404.09448" + x="20" + sodipodi:role="line" + id="tspan6563"> @PathParam("<tspan + style="fill:#808000" + id="tspan6583">lastname</tspan>") String <tspan + style="fill:#808000" + id="tspan6587">last</tspan>) {</tspan><tspan + y="444.09448" + x="20" + sodipodi:role="line" + id="tspan6565"> ...</tspan><tspan + y="484.09448" + x="20" + sodipodi:role="line" + id="tspan6567"> }</tspan><tspan + y="524.09448" + x="20" + sodipodi:role="line" + id="tspan6569">}</tspan><tspan + y="564.09448" + x="20" + sodipodi:role="line" + id="tspan6571" /></text> + <flowRoot + xml:space="preserve" + id="flowRoot6474" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion6476"><rect + id="rect6478" + width="585.73035" + height="62.188656" + x="282.01831" + y="592.96161" /></flowRegion><flowPara + id="flowPara6480"></flowPara></flowRoot> <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="21.693716" + y="609.59344" + id="text6589" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6591" + x="21.693716" + y="609.59344">Regular expressions, ... </tspan></text> + </g> + <g + style="display:none" + inkscape:label="Binding: Query parameters" + id="g6593" + inkscape:groupmode="layer"> + <text + xml:space="preserve" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="53.511169" + y="381.0863" + id="text6595" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6597" + x="53.511169" + y="381.0863" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" + x="10" + y="44.094482" + id="text6599" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6601" + x="10" + y="44.094482">Binding: Query parameters</tspan></text> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="60" + y="284.09448" + id="text6603" + sodipodi:linespacing="125%"><tspan + id="tspan6637" + sodipodi:role="line" + x="60" + y="284.09448">@Path("/customers")</tspan><tspan + sodipodi:role="line" + x="60" + y="324.09448" + id="tspan6816">public class CustomerResource {</tspan><tspan + sodipodi:role="line" + x="60" + y="364.09448" + id="tspan6818" /><tspan + sodipodi:role="line" + x="60" + y="404.09448" + id="tspan6820"> @GET</tspan><tspan + sodipodi:role="line" + x="60" + y="444.09448" + id="tspan6822"> @Produces("application/xml")</tspan><tspan + sodipodi:role="line" + x="60" + y="484.09448" + id="tspan6824"> public String getCustomers(</tspan><tspan + sodipodi:role="line" + x="60" + y="524.09448" + id="tspan6838"> @QueryParam("<tspan + style="fill:#ff0000" + id="tspan6844">start</tspan>") int <tspan + style="fill:#ff0000" + id="tspan6846">start</tspan>,</tspan><tspan + sodipodi:role="line" + x="60" + y="564.09448" + id="tspan6826"> @QueryParam("<tspan + style="fill:#ff00ff" + id="tspan6848">size</tspan>") int <tspan + style="fill:#ff00ff" + id="tspan6850">size</tspan>) {</tspan><tspan + sodipodi:role="line" + x="60" + y="604.09448" + id="tspan6828"> ...</tspan><tspan + sodipodi:role="line" + x="60" + y="644.09448" + id="tspan6830"> }</tspan><tspan + sodipodi:role="line" + x="60" + y="684.09448" + id="tspan6834">}</tspan><tspan + id="tspan6639" + sodipodi:role="line" + x="60" + y="724.09448" /></text> + <flowRoot + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot6641" + xml:space="preserve"><flowRegion + id="flowRegion6643"><rect + y="592.96161" + x="282.01831" + height="62.188656" + width="585.73035" + id="rect6645" /></flowRegion><flowPara + id="flowPara6647"></flowPara></flowRoot> <rect + style="color:#000000;fill:#ffeeaa;stroke:#ffeeaa;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect6153-08-5" + width="620" + height="50" + x="10" + y="94.094482" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + x="20" + y="134.09448" + id="text6025-1" + sodipodi:linespacing="125%"><tspan + id="tspan6027-9" + sodipodi:role="line" + x="20" + y="134.09448">GET /customers?<tspan + style="font-size:32px;fill:#ff0000" + id="tspan6840">start=0 </tspan>&<tspan + style="font-size:32px;fill:#ff00ff" + id="tspan6842">size=10</tspan></tspan><tspan + sodipodi:role="line" + x="20" + y="174.09448" + id="tspan6043-4" /></text> + </g> + <g + inkscape:groupmode="layer" + id="g6856" + inkscape:label="Binding: Form parameters" + style="display:none"> + <text + sodipodi:linespacing="125%" + id="text6858" + y="381.0863" + x="53.511169" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="381.0863" + x="53.511169" + id="tspan6860" + sodipodi:role="line" /></text> + <text + sodipodi:linespacing="125%" + id="text6862" + y="44.094482" + x="10" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" + xml:space="preserve"><tspan + y="44.094482" + x="10" + id="tspan6864" + sodipodi:role="line">Binding: Form parameters</tspan><tspan + y="94.094482" + x="10" + sodipodi:role="line" + id="tspan7054" /></text> + <text + sodipodi:linespacing="125%" + id="text6866" + y="454.09448" + x="20" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + id="tspan6896" + y="454.09448" + x="20" + sodipodi:role="line">@Path("/customers")</tspan><tspan + y="494.09448" + x="20" + sodipodi:role="line" + id="tspan7003">public class CustomerResource {</tspan><tspan + y="534.09448" + x="20" + sodipodi:role="line" + id="tspan7006" /><tspan + y="574.09448" + x="20" + sodipodi:role="line" + id="tspan7008"> @POST</tspan><tspan + y="614.09448" + x="20" + sodipodi:role="line" + id="tspan7010"> public void createCustomer(</tspan><tspan + y="654.09448" + x="20" + sodipodi:role="line" + id="tspan7020"> @FormParam("<tspan + style="fill:#ff0000" + id="tspan7046">firstname</tspan>") String <tspan + style="fill:#ff0000" + id="tspan7048">first</tspan>,</tspan><tspan + y="694.09448" + x="20" + sodipodi:role="line" + id="tspan7016"> @FormParam("<tspan + style="fill:#ff00ff" + id="tspan7050">lastname</tspan>") String <tspan + style="fill:#ff00ff" + id="tspan7052">last</tspan>) {...}</tspan><tspan + y="734.09448" + x="20" + sodipodi:role="line" + id="tspan7018">}</tspan><tspan + y="774.09448" + x="20" + sodipodi:role="line" + id="tspan6898" /></text> + <flowRoot + xml:space="preserve" + id="flowRoot6900" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion6902"><rect + id="rect6904" + width="585.73035" + height="62.188656" + x="282.01831" + y="592.96161" /></flowRegion><flowPara + id="flowPara6906"></flowPara></flowRoot> <rect + y="70.231392" + x="10" + height="323.8631" + width="1040" + id="rect6908" + style="color:#000000;fill:#ffeeaa;stroke:#ffeeaa;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text6910" + y="104.09448" + x="20" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="104.09448" + x="20" + sodipodi:role="line" + id="tspan6912"><FORM action="http://example.com/customers"</tspan><tspan + y="144.09448" + x="20" + sodipodi:role="line" + id="tspan7038"> method="post"></tspan><tspan + y="184.09448" + x="20" + sodipodi:role="line" + id="tspan7026"> <P></tspan><tspan + y="224.09448" + x="20" + sodipodi:role="line" + id="tspan7028"> First name:<INPUT type="text" name="<tspan + style="fill:#ff0000" + id="tspan7040">firstname</tspan>"><BR></tspan><tspan + y="264.09448" + x="20" + sodipodi:role="line" + id="tspan7030"> Last name:<INPUT type="text" name="<tspan + style="fill:#ff00ff" + id="tspan7042">lastname</tspan>"><BR></tspan><tspan + y="304.09448" + x="20" + sodipodi:role="line" + id="tspan7032"> <INPUT type="submit" value="Send"></tspan><tspan + y="344.09448" + x="20" + sodipodi:role="line" + id="tspan7034"> </P></tspan><tspan + y="384.09448" + x="20" + sodipodi:role="line" + id="tspan7036"> </FORM></tspan><tspan + id="tspan6918" + y="424.09448" + x="20" + sodipodi:role="line" /></text> + </g> <g style="display:none" inkscape:label="JAXB support" @@ -4208,17 +5041,6 @@ id="layer5" inkscape:label="Helpful links" style="display:none"> - <text - xml:space="preserve" - style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" - x="290" - y="44.094482" - id="text6985" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan6987" - x="290" - y="44.094482">Helpful links</tspan></text> <text sodipodi:linespacing="125%" id="text3063" @@ -4242,16 +5064,16 @@ x="10" sodipodi:role="line">➢ RESTful Java with JAX-RS 2.0, 2nd edition </tspan></text> <text - sodipodi:linespacing="125%" - id="text3067-9" - y="234.09448" + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans" x="10" - style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - xml:space="preserve"><tspan - y="234.09448" + y="44.094482" + id="text6985" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6987" x="10" - id="tspan3069-9" - sodipodi:role="line">➢</tspan></text> + y="44.094482">Helpful links</tspan></text> </g> <script id="JessyInk" -- GitLab