refactor: add field to APIError struct
This commit is contained in:
@@ -303,6 +303,11 @@ const docTemplate = `{
|
||||
"description": "Additional error details",
|
||||
"type": "string"
|
||||
},
|
||||
"field": {
|
||||
"description": "Field name if applicable",
|
||||
"type": "string",
|
||||
"example": "name"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable error message",
|
||||
"type": "string"
|
||||
|
||||
@@ -297,6 +297,11 @@
|
||||
"description": "Additional error details",
|
||||
"type": "string"
|
||||
},
|
||||
"field": {
|
||||
"description": "Field name if applicable",
|
||||
"type": "string",
|
||||
"example": "name"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable error message",
|
||||
"type": "string"
|
||||
|
||||
@@ -8,6 +8,10 @@ definitions:
|
||||
details:
|
||||
description: Additional error details
|
||||
type: string
|
||||
field:
|
||||
description: Field name if applicable
|
||||
example: name
|
||||
type: string
|
||||
message:
|
||||
description: Human-readable error message
|
||||
type: string
|
||||
|
||||
@@ -97,17 +97,23 @@ func (h *ContactHandler) create(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if contact.Name == "" {
|
||||
BadRequest(w, ErrMissingRequired, RequiredFieldErr("name"))
|
||||
err := ErrMissingRequired
|
||||
err.Field = "name"
|
||||
BadRequest(w, err, RequiredFieldErr("name"))
|
||||
return
|
||||
}
|
||||
|
||||
if contact.Company == "" {
|
||||
BadRequest(w, ErrMissingRequired, RequiredFieldErr("company"))
|
||||
err := ErrMissingRequired
|
||||
err.Field = "company"
|
||||
BadRequest(w, err, RequiredFieldErr("company"))
|
||||
return
|
||||
}
|
||||
|
||||
if contact.Phone == "" {
|
||||
BadRequest(w, ErrMissingRequired, RequiredFieldErr("phone"))
|
||||
err := ErrMissingRequired
|
||||
err.Field = "phone"
|
||||
BadRequest(w, err, RequiredFieldErr("phone"))
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ type APIError struct {
|
||||
Message string `json:"message"`
|
||||
// Additional error details
|
||||
Details string `json:"details,omitempty"`
|
||||
// Field name if applicable
|
||||
Field string `json:"field,omitempty" example:"name"`
|
||||
}
|
||||
|
||||
const content_type = "Content-Type"
|
||||
|
||||
Reference in New Issue
Block a user