us.careydevelopment.util.api.response.ResponseEntityUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of api-util Show documentation
Show all versions of api-util Show documentation
Convenience methods for routine API-related tasks
The newest version!
package us.careydevelopment.util.api.response;
import java.util.List;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import us.careydevelopment.util.api.model.IRestResponse;
import us.careydevelopment.util.api.model.ResponseStatus;
import us.careydevelopment.util.api.model.ResponseStatusCode;
import us.careydevelopment.util.api.model.RestResponse;
import us.careydevelopment.util.api.model.ValidationError;
public class ResponseEntityUtil {
public static ResponseEntity> createResponseEntity(IRestResponse response) {
return ResponseEntity
.status(HttpStatus.valueOf(response.getHttpStatusCode()))
.body(response);
}
public static ResponseEntity> createSuccessfulResponseEntity(String message, int httpStatusCode, T response) {
ResponseStatus status = getSuccessResponseStatus(message);
RestResponse fullResponse = new RestResponse<>();
fullResponse.setResponseStatus(status);
fullResponse.setHttpStatusCode(httpStatusCode);
fullResponse.setResponse(response);
return createResponseEntity(fullResponse);
}
public static ResponseEntity> createSuccessfulResponseEntity(String message, int httpStatusCode) {
ResponseStatus status = getSuccessResponseStatus(message);
RestResponse fullResponse = new RestResponse<>();
fullResponse.setResponseStatus(status);
fullResponse.setHttpStatusCode(httpStatusCode);
return createResponseEntity(fullResponse);
}
public static ResponseEntity> createResponseEntityWithError(String message, int httpStatusCode) {
ResponseStatus status = getErrorResponseStatus(message);
RestResponse fullResponse = new RestResponse<>();
fullResponse.setResponseStatus(status);
fullResponse.setHttpStatusCode(httpStatusCode);
return createResponseEntity(fullResponse);
}
public static ResponseEntity> createResponseEntityWithUnauthorized(String message) {
ResponseStatus status = getUnauthorizedResponseStatus(message);
RestResponse fullResponse = new RestResponse<>();
fullResponse.setResponseStatus(status);
fullResponse.setHttpStatusCode(HttpStatus.UNAUTHORIZED.value());
return createResponseEntity(fullResponse);
}
public static ResponseEntity> createResponseEntityWithError(String message, HttpStatus httpStatus) {
return createResponseEntityWithError(message, httpStatus.value());
}
public static ResponseEntity>> createResponseEntityWithValidationErrors(List errors) {
RestResponse> fullResponse = new RestResponse<>();
if (errors != null && errors.size() > 0) {
ResponseStatus responseStatus = getErrorResponseStatus("Validation error");
fullResponse.setResponse(errors);
fullResponse.setResponseStatus(responseStatus);
fullResponse.setHttpStatusCode(HttpStatus.BAD_REQUEST.value());
}
return createResponseEntity(fullResponse);
}
private static ResponseStatus getUnauthorizedResponseStatus(String message) {
return getResponseStatus(message, ResponseStatusCode.UNAUTHORIZED);
}
private static ResponseStatus getSuccessResponseStatus(String message) {
return getResponseStatus(message, ResponseStatusCode.OK);
}
private static ResponseStatus getErrorResponseStatus(String message) {
return getResponseStatus(message, ResponseStatusCode.ERROR);
}
private static ResponseStatus getResponseStatus(String message, ResponseStatusCode code) {
ResponseStatus status = new ResponseStatus();
status.setMessage(message);
status.setStatusCode(code);
return status;
}
}