Skip to content

Commit 9b7e6cc

Browse files
committed
[docs] Publishing the docs for commit(s) bb6e7d9
1 parent f3aedcd commit 9b7e6cc

2 files changed

Lines changed: 144 additions & 116 deletions

File tree

quarkus-tutorial/08_rest-client.html

Lines changed: 119 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -277,50 +277,65 @@ <h2 id="_create_swapi_pojo"><a class="anchor" href="#_create_swapi_pojo"></a>Cre
277277
<div class="content">
278278
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">package com.redhat.developers;
279279

280-
import java.util.List;
280+
public class Swapi {
281281

282-
import com.fasterxml.jackson.annotation.JsonProperty;
282+
private String title;
283+
private int episode_id;
284+
private String opening_crawl;
285+
private String director;
286+
private String producer;
283287

284-
public class Swapi {
285288

286-
private List&lt;Results&gt; results;
289+
public Swapi() {
290+
}
287291

288-
public Swapi(@JsonProperty("results") List&lt;Results&gt; results) {
289-
this.results = results;
292+
public Swapi(String title, int episode_id, String opening_crawl, String director, String producer) {
293+
this.title = title;
294+
this.episode_id = episode_id;
295+
this.opening_crawl = opening_crawl;
296+
this.director = director;
297+
this.producer = producer;
290298
}
291299

292-
public List&lt;Results&gt; getResults() {
293-
return results;
300+
301+
public String getTitle() {
302+
return title;
294303
}
295304

296-
public static class Results {
297-
private int episodeId;
298-
private String producer;
299-
private String director;
300-
private String opening_crawl;
301-
302-
public Results(int episodeId, String producer, String director, String opening_crawl) {
303-
this.episodeId = episodeId;
304-
this.producer = producer;
305-
this.director = director;
306-
this.opening_crawl = opening_crawl;
307-
}
305+
public void setTitle(String title) {
306+
this.title = title;
307+
}
308308

309-
public int getEpisodeId() {
310-
return episodeId;
311-
}
309+
public int getEpisode_id() {
310+
return episode_id;
311+
}
312312

313-
public String getProducer() {
314-
return producer;
315-
}
313+
public void setEpisode_id(int episode_id) {
314+
this.episode_id = episode_id;
315+
}
316316

317-
public String getDirector() {
318-
return director;
319-
}
317+
public String getOpening_crawl() {
318+
return opening_crawl;
319+
}
320320

321-
public String getOpening_crawl() {
322-
return opening_crawl;
323-
}
321+
public void setOpening_crawl(String opening_crawl) {
322+
this.opening_crawl = opening_crawl;
323+
}
324+
325+
public String getDirector() {
326+
return director;
327+
}
328+
329+
public void setDirector(String director) {
330+
this.director = director;
331+
}
332+
333+
public String getProducer() {
334+
return producer;
335+
}
336+
337+
public void setProducer(String producer) {
338+
this.producer = producer;
324339
}
325340
}</code></pre>
326341
</div>
@@ -337,24 +352,21 @@ <h3 id="_create_swapiservice"><a class="anchor" href="#_create_swapiservice"></a
337352
<div class="content">
338353
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">package com.redhat.developers;
339354

340-
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
341355

342356
import jakarta.ws.rs.GET;
343357
import jakarta.ws.rs.Path;
358+
import jakarta.ws.rs.PathParam;
344359
import jakarta.ws.rs.Produces;
345-
import jakarta.ws.rs.QueryParam;
346360
import jakarta.ws.rs.core.MediaType;
361+
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
347362

348-
import com.redhat.developers.Swapi.Results;
349-
350-
@Path("/api")
351363
@RegisterRestClient
352364
public interface SwapiService {
365+
353366
@GET
354-
@Path("/films")
355367
@Produces(MediaType.APPLICATION_JSON)
356-
Swapi getMovieByTitle(@QueryParam("search") String title);
357-
368+
@Path("/films/{id}")
369+
public Swapi getFilmById(@PathParam("id") String id);
358370
}</code></pre>
359371
</div>
360372
</div>
@@ -369,7 +381,7 @@ <h2 id="_configure_rest_client_properties"><a class="anchor" href="#_configure_r
369381
</div>
370382
<div class="listingblock console-input">
371383
<div class="content">
372-
<pre class="highlightjs highlight"><code class="language-properties hljs" data-lang="properties">quarkus.rest-client."com.redhat.developers.SwapiService".url=https://swapi.dev</code></pre>
384+
<pre class="highlightjs highlight"><code class="language-properties hljs" data-lang="properties">quarkus.rest-client."com.redhat.developers.SwapiService".url=https://swapi.info/api</code></pre>
373385
</div>
374386
</div>
375387
</div>
@@ -388,64 +400,86 @@ <h2 id="_create_moviedto"><a class="anchor" href="#_create_moviedto"></a>Create
388400
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">package com.redhat.developers;
389401

390402
import java.sql.Date;
391-
import java.util.List;
392-
393-
import com.redhat.developers.Swapi.Results;
394403

395404
public class MovieDTO {
405+
396406
private String title;
397407
private Date releaseDate;
398-
private int episodeId;
399-
private String producer;
400-
private String director;
408+
private int episode_id;
401409
private String opening_crawl;
410+
private String director;
411+
private String producer;
402412

403-
private MovieDTO(String title, Date releaseDate, int episodeId, String producer, String director, String opening_crawl) {
413+
public MovieDTO() {
414+
}
415+
416+
private MovieDTO(String title, Date releaseDate, int episode_id, String opening_crawl, String director, String producer) {
404417
this.title = title;
405418
this.releaseDate = releaseDate;
406-
this.episodeId = episodeId;
407-
this.producer = producer;
408-
this.director = director;
419+
this.episode_id = episode_id;
409420
this.opening_crawl = opening_crawl;
421+
this.director = director;
422+
this.producer = producer;
410423
}
411424

412-
public static MovieDTO of(Movie movie, Swapi swapi){
413-
List&lt;Results&gt; results = swapi.getResults();
414-
Results result = results.get(0);
415-
425+
public static MovieDTO of(Movie movie, Swapi swapi) {
416426
return new MovieDTO(
417-
movie.title,
418-
movie.releaseDate,
419-
result.getEpisodeId(),
420-
result.getProducer(),
421-
result.getDirector(),
422-
result.getOpening_crawl()
427+
movie.title,
428+
movie.releaseDate,
429+
swapi.getEpisode_id(),
430+
swapi.getOpening_crawl(),
431+
swapi.getDirector(),
432+
swapi.getProducer()
423433
);
424434
}
425435

426436
public String getTitle() {
427437
return title;
428438
}
429439

440+
public void setTitle(String title) {
441+
this.title = title;
442+
}
443+
430444
public Date getReleaseDate() {
431445
return releaseDate;
432446
}
433447

434-
public int getEpisodeId() {
435-
return episodeId;
448+
public void setReleaseDate(Date releaseDate) {
449+
this.releaseDate = releaseDate;
436450
}
437451

438-
public String getProducer() {
439-
return producer;
452+
public int getEpisode_id() {
453+
return episode_id;
440454
}
441455

442-
public String getDirector() {
443-
return director;
456+
public void setEpisode_id(int episode_id) {
457+
this.episode_id = episode_id;
444458
}
445459

446460
public String getOpening_crawl() {
447461
return opening_crawl;
448462
}
463+
464+
public void setOpening_crawl(String opening_crawl) {
465+
this.opening_crawl = opening_crawl;
466+
}
467+
468+
public String getDirector() {
469+
return director;
470+
}
471+
472+
public void setDirector(String director) {
473+
this.director = director;
474+
}
475+
476+
public String getProducer() {
477+
return producer;
478+
}
479+
480+
public void setProducer(String producer) {
481+
this.producer = producer;
482+
}
449483
}</code></pre>
450484
</div>
451485
</div>
@@ -464,41 +498,35 @@ <h2 id="_change_movieresource_to_use_swapiservice"><a class="anchor" href="#_cha
464498
<div class="content">
465499
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">package com.redhat.developers;
466500

467-
import java.util.List;
468-
import java.util.stream.Collectors;
469-
470-
import org.eclipse.microprofile.rest.client.inject.RestClient;
471-
472-
import jakarta.inject.Inject;
473501
import jakarta.transaction.Transactional;
474-
import jakarta.ws.rs.Consumes;
475-
import jakarta.ws.rs.GET;
476-
import jakarta.ws.rs.POST;
477-
import jakarta.ws.rs.Path;
478-
import jakarta.ws.rs.Produces;
479-
import jakarta.ws.rs.QueryParam;
502+
import jakarta.ws.rs.*;
480503
import jakarta.ws.rs.core.MediaType;
481504
import jakarta.ws.rs.core.Response;
482-
import jakarta.ws.rs.core.Response.Status;
505+
import org.eclipse.microprofile.rest.client.inject.RestClient;
483506

484-
@Path("/movie")
507+
import java.util.List;
508+
import java.util.stream.Collectors;
509+
510+
@Path("movie")
511+
@Produces(MediaType.APPLICATION_JSON)
485512
public class MovieResource {
486513

487514
@RestClient
488-
@Inject
489515
SwapiService swapiService;
490516

491517
@GET
492-
@Produces(MediaType.APPLICATION_JSON)
493-
public List&lt;MovieDTO&gt; movies(@QueryParam("year") String year) {
518+
public List&lt;MovieDTO&gt; getMovie(@QueryParam("year") String year) {
519+
494520
if (year != null) {
495-
return Movie.findByYear(Integer.parseInt(year)).stream()
496-
.map(movie -&gt; MovieDTO.of(movie, swapiService.getMovieByTitle(movie.title)))
497-
.collect(Collectors.toList());
521+
return Movie.&lt;Movie&gt;findByYear(Integer.parseInt(year)).stream()
522+
.map(movie -&gt; MovieDTO.of(movie, swapiService.getFilmById(String.valueOf(movie.id))))
523+
.collect(Collectors.toList());
524+
} else{
525+
return Movie.&lt;Movie&gt;listAll().stream()
526+
.map(movie -&gt; MovieDTO.of(movie, swapiService.getFilmById(String.valueOf(movie.id))))
527+
.collect(Collectors.toList());
498528
}
499-
return Movie.&lt;Movie&gt;listAll().stream()
500-
.map(movie -&gt; MovieDTO.of(movie, swapiService.getMovieByTitle(movie.title)))
501-
.collect(Collectors.toList());
529+
502530
}
503531

504532
@Transactional
@@ -508,7 +536,7 @@ <h2 id="_change_movieresource_to_use_swapiservice"><a class="anchor" href="#_cha
508536
public Response newMovie(Movie movie) {
509537
movie.id = null;
510538
movie.persist();
511-
return Response.status(Status.CREATED).entity(movie).build();
539+
return Response.status(Response.Status.CREATED).entity(movie).build();
512540
}
513541
}</code></pre>
514542
</div>

0 commit comments

Comments
 (0)