// ĠCopyright Ġ 2 0 2 0 ĠF elix ĠBur k , ĠTim ĠN ieder haus en Ċ // Ċ // ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ // Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ // ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ // Ċ // Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ // Ċ // ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ // Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ // ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ // ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ // Ġlimitations Ġunder Ġthe ĠLicense . Ċ package Ġorg . plan qk . cook smart . api Ċ Ċ import Ġio . swagger . v 3 . o as . annotations . Operation Ċ import Ġio . swagger . v 3 . o as . annotations . Parameter Ċ import Ġio . swagger . v 3 . o as . annotations . media . Content Ċ import Ġio . swagger . v 3 . o as . annotations . responses . ApiResponse Ċ import Ġio . swagger . v 3 . o as . annotations . responses . Api Responses Ċ import Ġio . swagger . v 3 . o as . annotations . tags . Tag Ċ import Ġorg . plan qk . cook smart . model . Ingredient Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestParam Ċ Ċ @ Tag ( name Ġ= Ġ" shopping - list ", Ġdescription Ġ= Ġ" Shopping Ġlist Ġcreation ") Ċ interface ĠShop ping List Api Ġ{ ĊĠĠĠ Ġ@ Operation ( summary Ġ= Ġ" Compile Ġa Ġingredient Ġshopping Ġlist Ġfor Ġa Ġlist Ġof Ġrecipes ") ĊĠĠĠ Ġ@ Api Responses ( value Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠApiResponse ( response Code Ġ= Ġ" 2 0 0 ", Ġdescription Ġ= Ġ" Ingredient Ġshopping Ġlist Ġfor Ġgiven Ġrecipes "), ĊĠĠĠĠĠĠĠ ĠApiResponse ( response Code Ġ= Ġ" 4 0 0 ", Ġdescription Ġ= Ġ" Invalid Ġrecipe ĠID Ġsupplied ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ[ Content ()]) ĊĠĠĠ Ġ]) ĊĠĠĠ Ġ@ GetMapping ( value Ġ= Ġ["/ compile _ for _ recipes "], Ġproduces Ġ= Ġ[" application / json "]) ĊĠĠĠ Ġfun Ġcompile For Recipes (@ Parameter ( description Ġ= Ġ" Recipes Ġto Ġshop Ġfor ", Ġrequired Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestParam ( value Ġ= Ġ" recipes ", Ġrequired Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipes : ĠList < Long >): ĠResponseEntity < List < Ingredient >> Ċ } Ċ