{"id":21409696,"url":"https://github.com/edgar-code-repository/avro-schema-generator","last_synced_at":"2026-01-02T09:58:52.089Z","repository":{"id":150026250,"uuid":"591792599","full_name":"edgar-code-repository/avro-schema-generator","owner":"edgar-code-repository","description":"Generating Avro schema from Java class.","archived":false,"fork":false,"pushed_at":"2023-02-03T20:25:05.000Z","size":114,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T04:29:34.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edgar-code-repository.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-21T22:01:02.000Z","updated_at":"2023-01-28T20:43:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"fae8fc6c-83a4-4c12-8d90-2d5fe294f5cf","html_url":"https://github.com/edgar-code-repository/avro-schema-generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgar-code-repository%2Favro-schema-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgar-code-repository%2Favro-schema-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgar-code-repository%2Favro-schema-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgar-code-repository%2Favro-schema-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edgar-code-repository","download_url":"https://codeload.github.com/edgar-code-repository/avro-schema-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910444,"owners_count":20367537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T17:28:13.489Z","updated_at":"2026-01-02T09:58:52.055Z","avatar_url":"https://github.com/edgar-code-repository.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"AVRO SCHEMA GENERATOR\n--------------------------------------------------------------\n\nAn Avro schema is generated from a Java class.\n\nThis is achieved by using Jackson and Avro libraries.\n\nBecause I'm a lazy programmer and don't enjoy writing schemas!\n\n![Dev](screenshots/garfield.jpg)\n\n--------------------------------------------------------------\n\n**Dependencies in build.gradle file:**\n\n```\n    dependencies {\n        compile \"org.apache.avro:avro:1.8.2\"\n    \n        compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.8'\n        compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.8.8'\n        compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8'\n    \n    }\n\n```\n--------------------------------------------------------------\n\n**Class AvroMessageDTO:**\n\n```\n\n    public class AvroMessageDTO {\n    \n        private Integer code;\n    \n        private String message;\n    \n        @Nullable\n        private String description;\n    \n        ... getters\n        \n        ... and setters\n    }\n\n```\n\n--------------------------------------------------------------\n\n**Code that generates the Avro schema from class AvroMessageDTO:**\n\n```\n    ReflectData reflectData = ReflectData.get();\n\n    Schema schema = reflectData.getSchema(AvroMessageDTO.class);\n    ObjectMapper mapper = new ObjectMapper();\n    JsonNode json = mapper.readTree(schema.toString());\n\n    PrettyPrinter prettyPrinter = new DefaultPrettyPrinter();\n    String strJson = mapper.writer(prettyPrinter).writeValueAsString(json);\n    System.out.println(strJson);\n```\n\n--------------------------------------------------------------\n\n**This is the Avro schema generated:**\n\n```\n    {\n      \"type\" : \"record\",\n      \"name\" : \"AvroMessageDTO\",\n      \"namespace\" : \"com.domain.example.dto\",\n      \"fields\" : [ \n            { \"name\" : \"code\", \"type\" : \"int\" }, \n            { \"name\" : \"message\", \"type\" : \"string\" }, \n            { \"name\" : \"description\", \"type\" : [ \"null\", \"string\" ], \"default\" : null } \n      ]\n    }\n```\n\n\n--------------------------------------------------------------\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgar-code-repository%2Favro-schema-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedgar-code-repository%2Favro-schema-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgar-code-repository%2Favro-schema-generator/lists"}