package org.openapitools.virtualan.api;

import java.math.BigDecimal;
import org.openapitools.virtualan.model.Client;
import org.springframework.format.annotation.DateTimeFormat;
import org.openapitools.virtualan.model.FileSchemaTestClass;
import java.time.LocalDate;
import java.util.Map;
import org.openapitools.virtualan.model.ModelApiResponse;
import java.time.OffsetDateTime;
import org.openapitools.virtualan.model.OuterComposite;
import org.openapitools.virtualan.model.ResponseObjectWithDifferentFieldNames;
import org.openapitools.virtualan.model.User;
import org.openapitools.virtualan.model.XmlItem;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.context.request.NativeWebRequest;

import javax.validation.constraints.*;
import javax.validation.Valid;

import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Generated;

@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
@Controller
@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}")
public class FakeApiController implements FakeApi {

    private final NativeWebRequest request;

    @Autowired
    public FakeApiController(NativeWebRequest request) {
        this.request = request;
    }

    @Override
    public Optional<NativeWebRequest> getRequest() {
        return Optional.ofNullable(request);
    }

}
