1

refine swagger example

This commit is contained in:
Christoph
2020-03-07 17:21:17 +01:00
parent 1a3c0a459f
commit 6d32092dcf
6 changed files with 83 additions and 36 deletions

View File

@ -0,0 +1,47 @@
package mops.gruppen2.controller;
import com.github.javafaker.Faker;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import mops.gruppen2.domain.ProductSwaggerExample;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* Ein Beispiel für eine API mit Swagger.
*/
@RestController
@RequestMapping("/products")
public class SwaggerAPIControllerExample {
private final Faker faker = new Faker();
private final List<ProductSwaggerExample> products = new ArrayList<>();
@GetMapping("/get/all")
@ApiOperation(value = "Erzeugt eine Liste mit allen gespeicherten Produkten")
public List<ProductSwaggerExample> getProducts() {
return products;
}
@GetMapping("/get/{index}")
public ProductSwaggerExample getProduct(@ApiParam("Produkt Index") @PathVariable int index) {
return products.get(index);
}
@PostMapping("/save")
public String saveProduct(@RequestBody ProductSwaggerExample product) {
products.add(product);
return "Product saved successfully";
}
@PostMapping("/random")
public String saveRandomProduct() {
products.add(new ProductSwaggerExample(faker.food().ingredient(), "Empty"));
return "Product saved successfully";
}
}