/* * Copyright 2017 SmartBear Software * * 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 io.swagger.sample.controllers; import io.swagger.inflector.models.ApiError; import io.swagger.inflector.models.RequestContext; import io.swagger.inflector.models.ResponseContext; import io.swagger.inflector.utils.ApiException; import io.swagger.sample.models.Dog; import io.swagger.test.models.Address; import io.swagger.test.models.User; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import java.io.File; import java.util.List; public class TestController { public io.swagger.inflector.models.ResponseContext uploadFile(io.swagger.inflector.models.RequestContext request, File inputFile, String stringMetadata, Integer integerMetadata) { if(inputFile != null) { stringMetadata += ": " + String.valueOf(inputFile.length()); } return new ResponseContext() .status(200) .entity(stringMetadata); } public io.swagger.inflector.models.ResponseContext inlineRequiredBody(io.swagger.inflector.models.RequestContext request, com.fasterxml.jackson.databind.JsonNode inlineBody) { return new ResponseContext() .status(200) .entity("success!"); } public ResponseContext formTest(RequestContext request, String user) { return new ResponseContext() .status(Status.OK) .contentType(MediaType.APPLICATION_JSON_TYPE) .entity(user); } public ResponseContext postFormData(RequestContext request, Long id, String name) { // show a sample response return new ResponseContext() .status(Status.OK) .contentType(MediaType.APPLICATION_JSON_TYPE) .entity(new User() .id(id) .user(name)); } public ResponseContext overloadedResponse(RequestContext request, String arg1) { return new ResponseContext() .status(Status.OK) .entity(new User()); } public ResponseContext withModel(RequestContext request, String id, Address address) { if("-1".equals(id)) { return new ResponseContext() .status(Status.OK) .entity("oops! This isn't valid!"); } else { if(address == null) { address = new Address(); } address.setStreet(id + " street"); return new ResponseContext() .status(Status.OK) .entity(address); } } public ResponseContext withModelArray(RequestContext request, String id, Address[] modelArray) { return new ResponseContext() .status(Status.OK); } public ResponseContext arrayInputTest(RequestContext request, List<String> users) { return new ResponseContext() .status(Status.OK) .entity(users); } public ResponseContext throwApiException(RequestContext request) { final Response.Status status = Response.Status.CONFLICT; throw new ApiException( new ApiError().code(status.getStatusCode()).message(status.getReasonPhrase())); } public ResponseContext throwApiExceptionAsCause(RequestContext request) { final Response.Status status = Response.Status.CONFLICT; throw new RuntimeException(new ApiException( new ApiError().code(status.getStatusCode()).message(status.getReasonPhrase()))); } public ResponseContext throwNonApiException(RequestContext request) { throw new NullPointerException("I'm NPE!"); } public ResponseContext returnNonRfc2616Status(RequestContext request) { return new ResponseContext().status(422).entity("I'm from RFC 4918"); } public ResponseContext stringBody(RequestContext request, String body) { return new ResponseContext().status(200).entity(body); } public ResponseContext binaryBody(RequestContext request, byte[] content) { return new ResponseContext().status(200).entity(content); } public ResponseContext returnWithResponseHeaders(RequestContext request) { return new ResponseContext().status(500) .header("foo", "bar"); } public ResponseContext mappedWithDefinedModel(RequestContext request, Dog dog) { return new ResponseContext().status(200); } }