Re: [httpapi] Discussion about JSON payloads and code generation
Darrel Miller <Darrel.Miller@microsoft.com> Sat, 16 January 2021 22:12 UTC
Return-Path: <Darrel.Miller@microsoft.com>
X-Original-To: httpapi@ietfa.amsl.com
Delivered-To: httpapi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B7A003A124F for <httpapi@ietfa.amsl.com>; Sat, 16 Jan 2021 14:12:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.35
X-Spam-Level:
X-Spam-Status: No, score=-2.35 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.25, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sLLdT_uZTwTJ for <httpapi@ietfa.amsl.com>; Sat, 16 Jan 2021 14:12:46 -0800 (PST)
Received: from NAM06-BL2-obe.outbound.protection.outlook.com (mail-eopbgr650120.outbound.protection.outlook.com [40.107.65.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99CC63A11DB for <httpapi@ietf.org>; Sat, 16 Jan 2021 14:12:46 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mKk2xQcq53SXCqmbhTm772UpmOC1sD8Y+4FdnYT9PGsbRadxPHNoK1/EtU1quNC9GFBBW6bL/GcTMKc3jyU78CfDtKNAHfefnOf84nXSktnxRPJ7y9IwkCPPF5E+JVrkgVzy0NSouNcqYXbJG4MHu2x28UCP59az8PN3X09FQcGQvn82CPzjY8v3KxiHM/T0cKkLg/O+oxOnhWBMs6hFsP89TYakVABEtM2xl468ZuN41xpbMcbbwd0xi7DDsRayqVlkuiI5qswwskH5Q6l3RxeWtq38/V0cqVJTsT7HMLFgVVk67Y4eCBQoXsTOEdzbQNseEv+OmycGtNCKbotOEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xdQi0UXPFnx5gKDGTFvrnFbTETdUrO8Khh+QLRa6jbc=; b=lN/aZmizPp2XBr7plw8unkyAmHFxzQsJWKmV4UNJ6euCVAAiLbg4e3tIcu4t0sR6Xq2E5Im1XyjROxDBbWdLmvjgD/FamAlBuEpZcM5DvDtoYp3wL5uOUq51gtBvxrcfN+fiHIRoeAPNeMpmAdZfjueK38giJ1IJ0h+1Qs/nNIjEY70dSRFl8DYUx/IHLc4byZ1+BNwI/h22bkoKTYmA2AQsSCyGkIlAfdfC7M4yToMHBnxGBFciATo4c7Orp8NKWePovFxCepVDDd1QN2OZZ2T51bhqqEL7bqmuywaqvhXzvv6J5lRkvhpE9Nm5MFUlDH/fVJ4HyhpECTnenFfIyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xdQi0UXPFnx5gKDGTFvrnFbTETdUrO8Khh+QLRa6jbc=; b=WfVgPcvvNKFwVkSY4ah8kR78XvsR+eDqGBIb2/Uk8JV5FHTmjvTsVm2Z5bw8jmGUCCKLmba1cDHYppdRbJuDx8hYlL31m7hAeBY1xX3kLwvIsHHXXCzyCcsZkYkUBIJ62AXY8luWpZbdYL6rE6A2r+UuB+YG3whrKMzfhRfBIGg=
Received: from (2603:10b6:5:1bc::23) by DM6PR00MB0765.namprd00.prod.outlook.com (2603:10b6:5:1bd::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3809.0; Sat, 16 Jan 2021 22:12:35 +0000
Received: from DM6PR00MB0845.namprd00.prod.outlook.com ([fe80::6450:8a43:1d66:8d3d]) by DM6PR00MB0845.namprd00.prod.outlook.com ([fe80::6450:8a43:1d66:8d3d%5]) with mapi id 15.20.3812.000; Sat, 16 Jan 2021 22:12:35 +0000
From: Darrel Miller <Darrel.Miller@microsoft.com>
To: "christoph.kappestein@gmail.com" <christoph.kappestein@gmail.com>, "httpapi@ietf.org" <httpapi@ietf.org>
Thread-Topic: [httpapi] Discussion about JSON payloads and code generation
Thread-Index: AQHW7AmIPyJ32zvjfE6Ci8mHOwNnYKoqynhf
Date: Sat, 16 Jan 2021 22:12:35 +0000
Message-ID: <DM6PR00MB0845824BE38945071F9774A5F0A69@DM6PR00MB0845.namprd00.prod.outlook.com>
References: <CALcRZn6-ojAAdJcMWFHef70Xp32O2iFatuw-YjGLKtr8VnbmYQ@mail.gmail.com>
In-Reply-To: <CALcRZn6-ojAAdJcMWFHef70Xp32O2iFatuw-YjGLKtr8VnbmYQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2021-01-16T22:12:36.555Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=microsoft.com;
x-originating-ip: [74.15.147.35]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: d4522eb9-de6a-46c0-3a0b-08d8ba6bd443
x-ms-traffictypediagnostic: DM6PR00MB0765:
x-microsoft-antispam-prvs: <DM6PR00MB07652CE04005122A02A871E7F0A69@DM6PR00MB0765.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Y2lF12NuLAe6ri3k45FM/dKrakiM7qhtHJ3W+p570YKsng8DVv8JOdWoTt8zc2mOXSwaKUnbYjWK8w30vAYLq//vE9WZ/KCKx8bmRAgxoEaO4hP9jAKqzdATyF1nwOcghJtukIQF2ionRRve9uOvwyZNB98imx/A3RrpkKBFnQynDPcGQvHGx3f5jEWHYhN5Gztl7zrtZ/OMtAJSrHlgPDh5pIMgZhdjOea++C+lbMesHd84EiNArc6pVg5/eeB1fXWURDdnbFF0mjsiwzJhC9rBw+oV11mxVV0H4ovedr2lqhiLEN2Png1ihv3pWv+JWygf5DMve64ElxER9dB5THR1hwuv16cUH7vVWXqQiFy1SSNn/5ahvygbECJ8WfCZzIvLhSFJ+F+GyfUSeVq/LGVLR+Tg+TL4aaXKJl9yMaS9MySw+KdFoJVj6qQlLA/3IKFc763YLQozk+JNBP8sV2WZS5GhbqnjdY6/6IOxZdAqNUS0bcN0Z6wv6H96mXs+BECmKaFANsV69TYPoh5eaYIA/W7tOte9zj6irCT28h47MlAw4yisokNndu3kKhRqxc7N2yO3CIo0ZTDw7up8hXZ7qPca5oZfxHOqEERcCwgzFXjKBH+0onJWumTwje8WAq1Oycy/ax57RSjR9rKm/w==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR00MB0845.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(346002)(376002)(136003)(39860400002)(186003)(6506007)(26005)(7696005)(19627405001)(966005)(316002)(66946007)(110136005)(55016002)(8676002)(478600001)(10290500003)(9686003)(82950400001)(76116006)(64756008)(5660300002)(82960400001)(86362001)(52536014)(33656002)(166002)(71200400001)(8936002)(66556008)(66446008)(8990500004)(2906002)(66476007)(443494004); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: yBW6DKj/9liplJ9+J80vSuA7WmF4N6E5csmWRc919tsRzEyIWqKAY4jbARi2+V0oyBXq9qPjGslpsnBjeWS4lsBFvLpYjXE8DKgAGX2DoaZgBeNDHd9DfO+qzbrwHQEcdOdY0DGZAEwhjN9hzcPbjV+EUumf74h+4xZ2xa2VoAKuZ3OsXonFMnrd3L9pqy77zNO1+4LpXPDMJ++OIaSHyuxfUzbgZIJngMG5CxZpjxJI0jR/cX/k8jwhi5XdxEM9a4HtEj2aZZuq9QfE3V1Xk259ZuOXhRb8TA4zPPdhA67GVyP51UbQ22qNK14Nj/lqHiL6D7i35nq19P1tgVmdWvHEgXsnZkg0KKjBpGqZ3lUEQ08TDuy79xZ69P2N6E96FqYF4q9wf+tZV/AQWdN+G9SbjUQcCbGFL5BsrSiMXchaYxuVH5+fFFAH6N8ksMt/5WHlOagY2MVURSXIPMW9VTajLqlk/5XF9+nZqa8LemzfEcNeTGmqkk8fVGWYhpUK9QDFeGXp1bRn/6AsDFRlXvUnbbrrNbIjc9CuO+sUB70Cmnzb1K9al+vKOfm7KJqFU3sXeIXTtGK0AR2PfquH8kiUNSyTUIO4OWh+J5qlw/Sjb9vOfjuttoXRgNj01XoXyOhBMmFjWFNUdrmblzK+emPOKWrS/F7EIkC7CPDh5eCgRGcHAqOlcVX2kDQMarY85HcMZ60dLaKe+2Tvgbnw9wPQqj0TDbC/SIucD7nhgFV8hGg+5bYJy5wBLBUMwxxiyKRHqP8yWLuemy+R5CAN/oZRT80AtnPNePPZqm5dhjjq+HTP8/O8bnlKWY4oqSeZjD3pTbNv90KHNqfx42rI+UlqFhC9v3GeJ9f/hbkbmdsnUcz86ScrN9l5T8mfMWJL3lsYFEuVLrzVMAco+KLPqJFAejirINrL6f/YC5Mi+JdXPboQZJXcr2/l7oYIK3Siqtb+ZXfWNxofd/h74RcmAKXG576X6U4ET4W2ljk/Uociqgm3DQfeBEvTDuFPb4qfkXekEa6DvTFQG0t6H/QO+JuLg0tcfuyKgHH8DNsUuAunnN8ljtQMHdYBKT9Ae5td
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_DM6PR00MB0845824BE38945071F9774A5F0A69DM6PR00MB0845namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR00MB0845.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d4522eb9-de6a-46c0-3a0b-08d8ba6bd443
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2021 22:12:35.7949 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wl8b4ofqdoX86Bf8J0wFUNADBnFgsZsNNNaVFyMKmGyMwuMVY+xRYr5LqDYM6KFi2updD2VizZj1trsYSe4eMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR00MB0765
Archived-At: <https://mailarchive.ietf.org/arch/msg/httpapi/vfJCCRds_NOtMRm2X3IBj7otYC8>
Subject: Re: [httpapi] Discussion about JSON payloads and code generation
X-BeenThere: httpapi@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Building Blocks for HTTP APIs <httpapi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/httpapi>, <mailto:httpapi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/httpapi/>
List-Post: <mailto:httpapi@ietf.org>
List-Help: <mailto:httpapi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/httpapi>, <mailto:httpapi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Jan 2021 22:12:49 -0000
Hi Christoph, From: httpapi <httpapi-bounces@ietf.org> on behalf of Christoph Kappestein <christoph.kappestein@gmail.com> I would like to gauge whether there is some interest in discussing ways to describe JSON payloads with a focus on code generation on this WG. Also it would be interesting to gather feedback from other developers who have experiences in this space. As an editor of the OpenAPI spec, that relies heavily on JSON Schema, consider my perspective to be heavily biased here. But I do agree wholeheartedly that JSON Schema has challenges when it comes to describing types for code generation. However, I would be reluctant to go down a path of defining a new specification for describing types. The recent Postman developer survey https://www.postman.com/state-of-api/ found that in their 13,000 respondents, 75% of them claimed to be users of JSON Schema. Convincing developers to move to a different format is going to require a compelling alternative. What would be awesome to see is if a community could form around creating a new JSON Schema vocabulary that targets type description. JSON Schema itself is now defined by a set of vocabularies, one of which is the validation vocabulary. I know the JSON Schema core team have been looking for someone to spearhead this effort. https://github.com/json-schema-org/json-schema-vocabularies By taking this approach, the existing JSON Schema specifications and artifacts can be leveraged, and the new type definition keywords could be used alongside the validation keywords. Darrel
- [httpapi] Discussion about JSON payloads and code… Christoph Kappestein
- Re: [httpapi] Discussion about JSON payloads and … Darrel Miller
- Re: [httpapi] Discussion about JSON payloads and … Christoph Kappestein
- Re: [httpapi] Discussion about JSON payloads and … Jason Desrosiers
- Re: [httpapi] Discussion about JSON payloads and … Darrel Miller
- Re: [httpapi] Discussion about JSON payloads and … Asbjørn Ulsberg
- Re: [httpapi] Discussion about JSON payloads and … Christoph Kappestein
- Re: [httpapi] Discussion about JSON payloads and … Darrel Miller