Skip to content

[BUG] [Go] Json Unmarshal int bigger then int64 #10620

Open
@dlnilsson

Description

@dlnilsson

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • Have you tested with the latest master to confirm the issue still exists?
  • Have you searched for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description

in the go generator, trying to unMarshal big int values, get overflow on int64

package main

import (
	"encoding/json"
	"fmt"

	"github.com/danijeel/bigintexample/openapi"
)

func main() {
	jsonSrc := []byte(`{
		"id": 162259276829213363391578010288126,
		"name": "test"
	}`)
	var myJson openapi.Category
	json.Unmarshal(jsonSrc, &myJson)
	fmt.Printf("%d\n", myJson.Id)
	// output: 824634459072
	// expects: 162259276829213363391578010288126
}

Full example can be seen here: https://github.com/danijeel/bigintexample/blob/main/main.go

openapi-generator version

5.2.1

OpenAPI declaration file content or url

The openapi example specification is based on the petstore example
https://github.com/danijeel/bigintexample/blob/eb590428c496e152ec32ff30a6464b2849b74a7b/openapi.yml

Generation Details
Steps to reproduce
Related issues/PRs
Suggest a fix

In the branch patch-big-int
I replaced the int64 attribute with custom type BigInt in the category model

dlnilsson/bigintexample@97dde59

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions