package de.rwth.swc.sqa.api; import de.rwth.swc.sqa.model.Customer; import org.springframework.stereotype.Controller; import de.rwth.swc.sqa.model.Ticket; import de.rwth.swc.sqa.model.TicketRequest; import de.rwth.swc.sqa.model.TicketValidationRequest; import io.swagger.annotations.*; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; import javax.validation.Valid; import javax.validation.constraints.*; import java.util.List; import java.util.Map; import java.util.Optional; @Controller @RequestMapping("/tickets") public class TicketController implements TicketsApi{ Customer customer; @PostMapping("") public ResponseEntity<Ticket> buyTicket(@ApiParam(value = "TicketRequest object" ,required=true ) @Valid @RequestBody TicketRequest body) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { String exampleString = "{ \"birthdate\" : \"1992-01-01\", \"validFor\" : \"1h\", \"zone\" : \"A\", \"student\" : true, \"discountCard\" : true, \"disabled\" : true, \"id\" : 0, \"validFrom\" : \"2020-10-29T10:38:59\" }"; ApiUtil.setExampleResponse(request, "application/json", exampleString); break; } } }); return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } @PostMapping("/validate") public ResponseEntity<Void> validateTicket(@ApiParam(value = "TicketValidationRequest object that needs to validated" ,required=true ) @Valid @RequestBody TicketValidationRequest body) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } }