{"action":"opened","issue":{"url":"https://api.github.com/repos/zalando/connexion/issues/94","labels_url":"https://api.github.com/repos/zalando/connexion/issues/94/labels{/name}","comments_url":"https://api.github.com/repos/zalando/connexion/issues/94/comments","events_url":"https://api.github.com/repos/zalando/connexion/issues/94/events","html_url":"https://github.com/zalando/connexion/issues/94","id":117443261,"number":94,"title":"change use of `operationId`","user":{"login":"fehguy","id":249413,"avatar_url":"https://avatars.githubusercontent.com/u/249413?v=3","gravatar_id":"","url":"https://api.github.com/users/fehguy","html_url":"https://github.com/fehguy","followers_url":"https://api.github.com/users/fehguy/followers","following_url":"https://api.github.com/users/fehguy/following{/other_user}","gists_url":"https://api.github.com/users/fehguy/gists{/gist_id}","starred_url":"https://api.github.com/users/fehguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fehguy/subscriptions","organizations_url":"https://api.github.com/users/fehguy/orgs","repos_url":"https://api.github.com/users/fehguy/repos","events_url":"https://api.github.com/users/fehguy/events{/privacy}","received_events_url":"https://api.github.com/users/fehguy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-17T20:29:07Z","updated_at":"2015-11-17T20:29:07Z","closed_at":null,"body":"The spec field `operationId` is used for client generation method names.  While connexion uses `operationId` for routing directly to a controller, it will make for some very ugly client SDK methods.\r\n\r\nFor example:\r\n\r\n```yaml\r\noperationId: my.controller.default_controller.getUser\r\n```\r\n\r\nWill generate into this for ObjectiveC:\r\n\r\n```objc\r\n-(NSNumber*) myControllerDefaultControllerGetUserWithCompletionBlock\r\n```\r\n\r\nIt would be nice if connexion followed the same strategy as [swagger-inflector](https://github.com/swagger-api/swagger-inflector#locating-the-target-method) and [swagger-node](https://github.com/swagger-api/swagger-node#4-write-controller-code-in-nodejs) for locating the routing controller/method.\r\n\r\nSpecifically, I'd propose the following:\r\n\r\n```yaml\r\noperationId: getUser\r\nx-swagger-router-controller: my.controller.default_controller\r\n```\r\n\r\nWhich allows for a friendly name for the client SDK and server controller method, and uses the vendor extensions for the controller location."}}