{"action":"created","issue":{"url":"https://api.github.com/repos/aesteve/vertx-nubes/issues/48","labels_url":"https://api.github.com/repos/aesteve/vertx-nubes/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/aesteve/vertx-nubes/issues/48/comments","events_url":"https://api.github.com/repos/aesteve/vertx-nubes/issues/48/events","html_url":"https://github.com/aesteve/vertx-nubes/issues/48","id":96910586,"number":48,"title":"User method parameter names instead of requiring @param or pathparam type annotations","user":{"login":"apatrida","id":182340,"avatar_url":"https://avatars.githubusercontent.com/u/182340?v=3","gravatar_id":"","url":"https://api.github.com/users/apatrida","html_url":"https://github.com/apatrida","followers_url":"https://api.github.com/users/apatrida/followers","following_url":"https://api.github.com/users/apatrida/following{/other_user}","gists_url":"https://api.github.com/users/apatrida/gists{/gist_id}","starred_url":"https://api.github.com/users/apatrida/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apatrida/subscriptions","organizations_url":"https://api.github.com/users/apatrida/orgs","repos_url":"https://api.github.com/users/apatrida/repos","events_url":"https://api.github.com/users/apatrida/events{/privacy}","received_events_url":"https://api.github.com/users/apatrida/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/aesteve/vertx-nubes/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"aesteve","id":1456317,"avatar_url":"https://avatars.githubusercontent.com/u/1456317?v=3","gravatar_id":"","url":"https://api.github.com/users/aesteve","html_url":"https://github.com/aesteve","followers_url":"https://api.github.com/users/aesteve/followers","following_url":"https://api.github.com/users/aesteve/following{/other_user}","gists_url":"https://api.github.com/users/aesteve/gists{/gist_id}","starred_url":"https://api.github.com/users/aesteve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aesteve/subscriptions","organizations_url":"https://api.github.com/users/aesteve/orgs","repos_url":"https://api.github.com/users/aesteve/repos","events_url":"https://api.github.com/users/aesteve/events{/privacy}","received_events_url":"https://api.github.com/users/aesteve/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/aesteve/vertx-nubes/milestones/1","html_url":"https://github.com/aesteve/vertx-nubes/milestones/0.1","labels_url":"https://api.github.com/repos/aesteve/vertx-nubes/milestones/1/labels","id":1036954,"number":1,"title":"0.1","description":"Just a proof of concept version.","creator":{"login":"aesteve","id":1456317,"avatar_url":"https://avatars.githubusercontent.com/u/1456317?v=3","gravatar_id":"","url":"https://api.github.com/users/aesteve","html_url":"https://github.com/aesteve","followers_url":"https://api.github.com/users/aesteve/followers","following_url":"https://api.github.com/users/aesteve/following{/other_user}","gists_url":"https://api.github.com/users/aesteve/gists{/gist_id}","starred_url":"https://api.github.com/users/aesteve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aesteve/subscriptions","organizations_url":"https://api.github.com/users/aesteve/orgs","repos_url":"https://api.github.com/users/aesteve/repos","events_url":"https://api.github.com/users/aesteve/events{/privacy}","received_events_url":"https://api.github.com/users/aesteve/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":28,"state":"open","created_at":"2015-03-24T18:53:48Z","updated_at":"2015-10-31T11:12:10Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-07-23T21:35:44Z","updated_at":"2015-10-31T11:12:10Z","closed_at":"2015-10-31T11:12:10Z","body":"Java 8, Kotlin, and others have parameter name information available for methods.  So `@Param(\"from\") from: Int` us redundant.  Vert.x is Java 8 or higher.  Although Java 8 requires you compiling with parameter names turned on.  \r\n\r\nFor languages like Kotlin you could have a plugin return the names of parameters for you if you don't want to figure out how to do that.  Same plugin model could support Java 8.\r\n\r\nOr since you have annotations, you could use annotation processing to write out the property names at compile time to a resources file you use.  Another option, although not all other JVM languages might support annotation processing.  I think Paranamer does this already, https://github.com/paul-hammant/paranamer.\r\n\r\nI note that Jackson JSON processor has support for plugins that do all the models above."},"comment":{"url":"https://api.github.com/repos/aesteve/vertx-nubes/issues/comments/152723948","html_url":"https://github.com/aesteve/vertx-nubes/issues/48#issuecomment-152723948","issue_url":"https://api.github.com/repos/aesteve/vertx-nubes/issues/48","id":152723948,"user":{"login":"aesteve","id":1456317,"avatar_url":"https://avatars.githubusercontent.com/u/1456317?v=3","gravatar_id":"","url":"https://api.github.com/users/aesteve","html_url":"https://github.com/aesteve","followers_url":"https://api.github.com/users/aesteve/followers","following_url":"https://api.github.com/users/aesteve/following{/other_user}","gists_url":"https://api.github.com/users/aesteve/gists{/gist_id}","starred_url":"https://api.github.com/users/aesteve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aesteve/subscriptions","organizations_url":"https://api.github.com/users/aesteve/orgs","repos_url":"https://api.github.com/users/aesteve/repos","events_url":"https://api.github.com/users/aesteve/events{/privacy}","received_events_url":"https://api.github.com/users/aesteve/received_events","type":"User","site_admin":false},"created_at":"2015-10-31T11:12:10Z","updated_at":"2015-10-31T11:12:10Z","body":"Done"}}