{"action":"created","issue":{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/692","labels_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/692/labels{/name}","comments_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/692/comments","events_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/692/events","html_url":"https://github.com/chrsmith/google-api-java-client/issues/692","id":59382515,"number":692,"title":"Throw exception if required content is missing","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Component-Google-APIs","name":"Component-Google-APIs","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Milestone-Version1.14.0","name":"Milestone-Version1.14.0","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Priority-Medium","name":"Priority-Medium","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Type-Enhancement","name":"Type-Enhancement","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-01T06:00:48Z","updated_at":"2015-03-01T06:00:48Z","closed_at":"2015-03-01T06:00:48Z","body":"```\nFor example from:\nhttps://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\n\ninsert: {\nid: \"calendar.calendars.insert\",\npath: \"calendars\",\nhttpMethod: \"POST\",\ndescription: \"Creates a secondary calendar.\",\nrequest: {\n$ref: \"Calendar\"\n},\nresponse: {\n$ref: \"Calendar\"\n},\nscopes: [\n\"https://www.googleapis.com/auth/calendar\"\n]\n},\n\nNote that calendar.calendars.insert has a Calendar request body.  Currently if \nthe Calendar body parameter is null, the Java client library silently accepts \nit, but the Calendar API responds with an error message \"Required\" but doesn't \nspecify that the Calendar content is missing.  This is a poor developer \nexperience.\n\nInstead, we should throw an exception if the content is missing.  In fact, \nanywhere where there is a request body specified in the discovery document, we \nshould assume the content is required.\n```\n\nOriginal issue reported on code.google.com by `yan...@google.com` on 20 Dec 2012 at 10:43"},"comment":{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/comments/76577818","html_url":"https://github.com/chrsmith/google-api-java-client/issues/692#issuecomment-76577818","issue_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/692","id":76577818,"user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"created_at":"2015-03-01T06:00:48Z","updated_at":"2015-03-01T06:00:48Z","body":"```\nClarification: the request content is required if and only if there is a schema \nparameter that is required in the request content.  In that sense this is very \nclosely related to issue 466 \"Throw exception if a required schema parameter is \nnot specified\".\n```\n\nOriginal comment by `yan...@google.com` on 8 Jan 2013 at 3:15"}}