More Swagger Doku

This commit is contained in:
Maximilian Leopold 2019-05-02 20:31:13 +02:00
parent 5c5adebbc4
commit d92d43e63e
2 changed files with 73 additions and 12 deletions

View File

@ -28,7 +28,7 @@ public class Application extends SpringBootServletInitializer{
@Bean
public Docket swagger(){
return new Docket(DocumentationType.SWAGGER_2)
return new Docket(DocumentationType.SWAGGER_2).useDefaultResponseMessages(false)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())

View File

@ -8,7 +8,10 @@ import hhn.labsw.bugageocaching.repositories.*;
import hhn.labsw.bugageocaching.util.FinderUtil;
import hhn.labsw.bugageocaching.util.VerificationUtil;
import io.jsonwebtoken.Claims;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@ -68,6 +71,11 @@ public class Controller {
@ApiOperation(value = "Starts the given Cache for the given User")
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ApiResponse(code = 401, message = "JWT Token expired"),
@ApiResponse(code = 400, message = "Something went wrong at verification")
})
@RequestMapping(value = "/api/startCache", method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public ResponseEntity startCache(@RequestParam(value = "token", defaultValue = "-1") String token,
@ -149,8 +157,15 @@ public class Controller {
}
}
@ApiOperation(value = "Checks if the given Station is the correct next Station in the Cache")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ApiResponse(code = 400, message = "Given Station is NOT the correct following station"),
@ApiResponse(code = 401, message = "JWT Token expired"),
@ApiResponse(code = 400, message = "Something went wrong at verification")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/checkStation")
@RequestMapping(value = "/api/checkStation", method = RequestMethod.PUT, produces = "application/json")
@ResponseBody
public ResponseEntity checkStation(@RequestParam String token,
@RequestParam String cacheID,
@ -297,15 +312,26 @@ public class Controller {
}
@ApiOperation(value = "Creates a new Cache")
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Something wrong with the given Parameters")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/createCache")
@RequestMapping(value = "/api/createCache", method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public ResponseEntity createCache(@RequestBody Cache cache) {
return createCacheUtil(cache);
}
@ApiOperation(value = "Checks if the given User has an admin role")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ApiResponse(code = 401, message = "JWT Token expired"),
@ApiResponse(code = 400, message = "Something went wrong at verification")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/checkAdmin")
@RequestMapping(value = "/api/checkAdmin", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseEntity checkAdmin(@RequestParam String token) {
@ -335,23 +361,36 @@ public class Controller {
return ResponseEntity.status(401).body(false);
}
@ApiOperation(value = "Returns all Stations")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/getAllStations")
@RequestMapping(value = "/api/getAllStations", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseEntity getAllStations() {
return ResponseEntity.status(200).body(new Gson().toJson(stationRepository.findAll()));
}
@ApiOperation(value = "Deletes a Cache")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/deleteCache")
@RequestMapping(value = "/api/deleteCache", method = RequestMethod.DELETE, produces = "application/json")
@ResponseBody
public ResponseEntity deleteCache(@RequestParam String cacheID) {
return deleteCacheUtil(cacheID);
}
@ApiOperation(value = "Returns all Caches finished/started by a given User")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ApiResponse(code = 401, message = "JWT Token expired"),
@ApiResponse(code = 400, message = "Something went wrong at verification")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/getMyCaches")
@RequestMapping(value = "/api/getMyCaches", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseEntity getMyCaches(@RequestParam String token) {
@ -386,8 +425,12 @@ public class Controller {
}
}
@ApiOperation(value = "Returns the rankinglist")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/getRankingList")
@RequestMapping(value = "/api/getRankingList", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseEntity getRankingList() {
@ -401,8 +444,12 @@ public class Controller {
return ResponseEntity.status(200).body(new Gson().toJson(sendBackUsers));
}
@ApiOperation(value = "Returns the Team Rankinglist")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/getTeamRankingList")
@RequestMapping(value = "/api/getTeamRankingList", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseEntity getTeamRankingList() {
@ -416,8 +463,14 @@ public class Controller {
return ResponseEntity.status(200).body(new Gson().toJson(sendBackTeams));
}
@ApiOperation(value = "Returns a user from a given token")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ApiResponse(code = 401, message = "JWT Token expired"),
@ApiResponse(code = 400, message = "Something went wrong at verification")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/getUser")
@RequestMapping(value = "/api/getUser", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ResponseEntity getUser(@RequestParam String token) {
@ -444,8 +497,14 @@ public class Controller {
}
}
@ApiOperation(value = "Creates a new Team")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "Database error"),
@ApiResponse(code = 401, message = "JWT Token expired"),
@ApiResponse(code = 400, message = "Something went wrong at verification")
})
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/createTeam")
@RequestMapping(value = "/api/createTeam", method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public ResponseEntity createTeam(@RequestParam String token,
@RequestParam String name) {
@ -491,6 +550,8 @@ public class Controller {
return ResponseEntity.status(200).body(new Gson().toJson(team));
}
//---------
@CrossOrigin(origins = "*", allowedHeaders = "*") // only for dev purpose
@RequestMapping("/api/joinTeam")
@ResponseBody