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