mirror of https://github.com/hykilpikonna/AquaDX
[F] Fix error reporting
parent
16550e7a83
commit
6f9b686317
|
@ -1,5 +1,6 @@
|
||||||
package ext
|
package ext
|
||||||
|
|
||||||
|
import icu.samnyan.aqua.net.utils.ApiException
|
||||||
import io.ktor.client.*
|
import io.ktor.client.*
|
||||||
import io.ktor.client.engine.cio.*
|
import io.ktor.client.engine.cio.*
|
||||||
import io.ktor.client.plugins.contentnegotiation.*
|
import io.ktor.client.plugins.contentnegotiation.*
|
||||||
|
@ -19,8 +20,8 @@ typealias Str = String
|
||||||
typealias Bool = Boolean
|
typealias Bool = Boolean
|
||||||
|
|
||||||
// Make it easier to throw a ResponseStatusException
|
// Make it easier to throw a ResponseStatusException
|
||||||
operator fun HttpStatus.invoke(message: String? = null): Nothing = throw ResponseStatusException(this, message ?: this.reasonPhrase)
|
operator fun HttpStatus.invoke(message: String? = null): Nothing = throw ApiException(value(), message ?: this.reasonPhrase)
|
||||||
operator fun Int.compareTo(message: String): Int = throw ResponseStatusException(HttpStatus.valueOf(this), message)
|
operator fun Int.compareTo(message: String): Int = throw ApiException(this, message)
|
||||||
|
|
||||||
// Email validation
|
// Email validation
|
||||||
// https://www.baeldung.com/java-email-validation-regex
|
// https://www.baeldung.com/java-email-validation-regex
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package icu.samnyan.aqua.net.utils
|
||||||
|
|
||||||
|
import ext.Str
|
||||||
|
import org.springframework.http.ResponseEntity
|
||||||
|
import org.springframework.web.bind.annotation.ControllerAdvice
|
||||||
|
import org.springframework.web.bind.annotation.ExceptionHandler
|
||||||
|
|
||||||
|
class ApiException(val code: Int, message: Str) : RuntimeException(message)
|
||||||
|
|
||||||
|
@ControllerAdvice
|
||||||
|
class GlobalExceptionHandler {
|
||||||
|
@ExceptionHandler(ApiException::class)
|
||||||
|
fun handleCustomApiException(e: ApiException): ResponseEntity<Any?> {
|
||||||
|
// On error, return the error code and message
|
||||||
|
return ResponseEntity.status(e.code).body(e.message)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue