Class RouteRestController
java.lang.Object
com.endurancetrio.app.tracker.api.RouteRestController
- All Implemented Interfaces:
RouteAPI
@EnduranceTrioRestController
@RequestMapping("/api/tracker/v1")
public class RouteRestController
extends Object
implements RouteAPI
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<@NonNull EnduranceTrioResponse<RouteDTO>> Creates a new route configuration.org.springframework.http.ResponseEntity<@NonNull EnduranceTrioResponse<List<RouteDTO>>> findAll()Retrieves all route configurations.org.springframework.http.ResponseEntity<EnduranceTrioResponse<RouteDTO>> Finds a route configuration by its unique identifier.org.springframework.http.ResponseEntity<EnduranceTrioResponse<RouteMetricsDTO>> getRouteMetrics(@NonNull Long id) Retrieves the GeoJSON CollectionFeature definition for a specific route.org.springframework.http.ResponseEntity<@NonNull EnduranceTrioResponse<RouteDTO>> Updates an existing route configuration.
-
Constructor Details
-
RouteRestController
-
-
Method Details
-
findAll
@ResponseStatus(OK) @GetMapping(value="/routes", produces="application/json") public org.springframework.http.ResponseEntity<@NonNull EnduranceTrioResponse<List<RouteDTO>>> findAll()Description copied from interface:RouteAPIRetrieves all route configurations.- Specified by:
findAllin interfaceRouteAPI- Returns:
- a
ResponseEntitycontaining anEnduranceTrioResponsewith a list ofRouteDTOrepresenting all route configurations
-
create
@ResponseStatus(CREATED) @PostMapping(value="/routes", consumes="application/json", produces="application/json") public org.springframework.http.ResponseEntity<@NonNull EnduranceTrioResponse<RouteDTO>> create(@Valid @RequestBody @Valid RouteDTO routeDTO) Description copied from interface:RouteAPICreates a new route configuration. The request body must not include an id — it is assigned by the server.- Specified by:
createin interfaceRouteAPI- Parameters:
routeDTO- the route configuration to be created (id must be null)- Returns:
- a
ResponseEntitycontaining anEnduranceTrioResponsewith the createdRouteDTO
-
update
@ResponseStatus(OK) @PutMapping(value="/routes/{id}", consumes="application/json", produces="application/json") public org.springframework.http.ResponseEntity<@NonNull EnduranceTrioResponse<RouteDTO>> update(@PathVariable @NonNull Long id, @Valid @RequestBody @Valid RouteDTO routeDTO) Description copied from interface:RouteAPIUpdates an existing route configuration.- Specified by:
updatein interfaceRouteAPI- Parameters:
id- the unique identifier of the route configuration to updaterouteDTO- the route configuration with updated data- Returns:
- a
ResponseEntitycontaining anEnduranceTrioResponsewith the updatedRouteDTO
-
findById
@ResponseStatus(OK) @GetMapping(value="/routes/{id}", produces="application/json") public org.springframework.http.ResponseEntity<EnduranceTrioResponse<RouteDTO>> findById(@PathVariable @NonNull Long id) Description copied from interface:RouteAPIFinds a route configuration by its unique identifier.- Specified by:
findByIdin interfaceRouteAPI- Parameters:
id- the unique identifier of the route configuration- Returns:
- a
ResponseEntitycontaining anEnduranceTrioResponsewith the correspondingRouteDTO
-
getRouteMetrics
@ResponseStatus(OK) @GetMapping(value="/routes/{id}/metrics", produces="application/json") public org.springframework.http.ResponseEntity<EnduranceTrioResponse<RouteMetricsDTO>> getRouteMetrics(@PathVariable @NonNull Long id) Description copied from interface:RouteAPIRetrieves the GeoJSON CollectionFeature definition for a specific route.- Specified by:
getRouteMetricsin interfaceRouteAPI- Parameters:
id- The unique identifier of the route.- Returns:
- a
ResponseEntitycontaining anEnduranceTrioResponsewith the correspondingRouteMetricsDTO
-