fix(xerrors): rename MarshalJSON field platformCode → platform_code
JSON tag on the anonymous struct inside MarshalJSON corrected from `json:"platformCode,omitempty"` to `json:"platform_code,omitempty"` to match the OpenAPI spec snake_case convention. All error responses that serialize *Err directly now emit "platform_code" instead of "platformCode". PR.md added to .gitignore.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -36,3 +36,4 @@ Thumbs.db
|
|||||||
# VCS files
|
# VCS files
|
||||||
COMMIT.md
|
COMMIT.md
|
||||||
RELEASE.md
|
RELEASE.md
|
||||||
|
PR.md
|
||||||
|
|||||||
@@ -5,6 +5,15 @@ All notable changes to this module will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [1.0.2] - 2026-05-22
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- `MarshalJSON` JSON tag corrected from `"platformCode"` to `"platform_code"` to
|
||||||
|
match the OpenAPI spec snake_case convention.
|
||||||
|
|
||||||
|
[1.0.2]: https://code.nochebuena.dev/go/xerrors/compare/v1.0.1...v1.0.2
|
||||||
|
|
||||||
## [1.0.0] — 2026-05-08
|
## [1.0.0] — 2026-05-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -188,12 +188,12 @@ func (e *Err) ErrorContext() map[string]any {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// MarshalJSON implements [json.Marshaler].
|
// MarshalJSON implements [json.Marshaler].
|
||||||
// Output: {"code":"NOT_FOUND","platformCode":"EMPLOYEE_NOT_FOUND","message":"...","fields":{...}}
|
// Output: {"code":"NOT_FOUND","platform_code":"IDG-USR-0004","message":"...","fields":{...}}
|
||||||
// platformCode and fields are omitted when empty.
|
// platform_code and fields are omitted when empty.
|
||||||
func (e *Err) MarshalJSON() ([]byte, error) {
|
func (e *Err) MarshalJSON() ([]byte, error) {
|
||||||
return json.Marshal(struct {
|
return json.Marshal(struct {
|
||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
PlatformCode string `json:"platformCode,omitempty"`
|
PlatformCode string `json:"platform_code,omitempty"`
|
||||||
Message string `json:"message"`
|
Message string `json:"message"`
|
||||||
Fields map[string]any `json:"fields,omitempty"`
|
Fields map[string]any `json:"fields,omitempty"`
|
||||||
}{
|
}{
|
||||||
|
|||||||
@@ -312,8 +312,8 @@ func TestErr_MarshalJSON_PlatformCode(t *testing.T) {
|
|||||||
if jsonErr = json.Unmarshal(b, &out); jsonErr != nil {
|
if jsonErr = json.Unmarshal(b, &out); jsonErr != nil {
|
||||||
t.Fatalf("unmarshal error: %v", jsonErr)
|
t.Fatalf("unmarshal error: %v", jsonErr)
|
||||||
}
|
}
|
||||||
if out["platformCode"] != "EMPLOYEE_NOT_FOUND" {
|
if out["platform_code"] != "EMPLOYEE_NOT_FOUND" {
|
||||||
t.Errorf("json platformCode = %v, want EMPLOYEE_NOT_FOUND", out["platformCode"])
|
t.Errorf("json platform_code = %v, want EMPLOYEE_NOT_FOUND", out["platform_code"])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -323,8 +323,8 @@ func TestErr_MarshalJSON_PlatformCode(t *testing.T) {
|
|||||||
if jsonErr != nil {
|
if jsonErr != nil {
|
||||||
t.Fatalf("MarshalJSON error: %v", jsonErr)
|
t.Fatalf("MarshalJSON error: %v", jsonErr)
|
||||||
}
|
}
|
||||||
if strings.Contains(string(b), "platformCode") {
|
if strings.Contains(string(b), "platform_code") {
|
||||||
t.Errorf("json should omit platformCode when empty, got: %s", b)
|
t.Errorf("json should omit platform_code when empty, got: %s", b)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user