{"action":"created","issue":{"url":"https://api.github.com/repos/square/retrofit/issues/1448","labels_url":"https://api.github.com/repos/square/retrofit/issues/1448/labels{/name}","comments_url":"https://api.github.com/repos/square/retrofit/issues/1448/comments","events_url":"https://api.github.com/repos/square/retrofit/issues/1448/events","html_url":"https://github.com/square/retrofit/issues/1448","id":125399352,"number":1448,"title":"HTTP method annotation is required (e.g., @GET, @POST, etc.)","user":{"login":"facundomedica","id":14063057,"avatar_url":"https://avatars.githubusercontent.com/u/14063057?v=3","gravatar_id":"","url":"https://api.github.com/users/facundomedica","html_url":"https://github.com/facundomedica","followers_url":"https://api.github.com/users/facundomedica/followers","following_url":"https://api.github.com/users/facundomedica/following{/other_user}","gists_url":"https://api.github.com/users/facundomedica/gists{/gist_id}","starred_url":"https://api.github.com/users/facundomedica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/facundomedica/subscriptions","organizations_url":"https://api.github.com/users/facundomedica/orgs","repos_url":"https://api.github.com/users/facundomedica/repos","events_url":"https://api.github.com/users/facundomedica/events{/privacy}","received_events_url":"https://api.github.com/users/facundomedica/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-01-07T14:01:22Z","updated_at":"2016-01-07T14:53:23Z","closed_at":"2016-01-07T14:53:22Z","body":"I'm getting this error while trying to make a Multipart Request. I've tried everything inside the pro guard file but can't get this to work. Below I paste my code.\r\n\r\nFull error: `java.lang.IllegalArgumentException: HTTP method annotation is required (e.g., @GET, @POST, etc.).  for method FileUploadService.upload`\r\n\r\n```\r\n    public interface FileUploadService {\r\n        @Multipart\r\n        @POST(\"/imageupload.php\")\r\n        Call<String> upload(\r\n                @Part(\"foto\\\"; filename=\\\"BAeWxYtTTldMMsdasdqe.jpg\\\" \") RequestBody file,\r\n                @Field(\"someid\") String some,\r\n                @Field(\"message\") String message);\r\n    }\r\n```\r\n\r\n```\r\nfindViewById(R.id.btn_send).setOnClickListener(new View.OnClickListener() {\r\n            @Override\r\n            public void onClick(View v) {\r\n                FileUploadService service =\r\n                        ServiceGenerator.createService(FileUploadService.class);\r\n\r\n\r\n                String asdasd = \"test\";\r\n                String message = \"Testing 1 2 3 4\";\r\n                File file = new File(mCurrentPhotoPath);\r\n\r\n                RequestBody requestBody =\r\n                        RequestBody.create(MediaType.parse(\"multipart/form-data\"), file);\r\n\r\n\r\n                Call<String> call = service.upload(requestBody, asdasd, message);\r\n                call.enqueue(new retrofit.Callback<String>() {\r\n                    @Override\r\n                    public void onResponse(retrofit.Response<String> response, retrofit.Retrofit retrofit) {\r\n\r\n                    }\r\n\r\n                    @Override\r\n                    public void onFailure(Throwable t) {\r\n\r\n                    }\r\n                });\r\n            }\r\n        });\r\n```\r\n\r\nServiceGenerator.java\r\n```\r\nimport com.squareup.okhttp.OkHttpClient;\r\n\r\nimport retrofit.GsonConverterFactory;\r\nimport retrofit.Retrofit;\r\n\r\npublic class ServiceGenerator {\r\n\r\n    public static final String API_BASE_URL = \"http://myurl.com/somefolder\";\r\n\r\n    private static OkHttpClient httpClient = new OkHttpClient();\r\n    private static Retrofit.Builder builder =\r\n            new Retrofit.Builder()\r\n                    .baseUrl(API_BASE_URL)\r\n                    .addConverterFactory(GsonConverterFactory.create());\r\n\r\n    public static <S> S createService(Class<S> serviceClass) {\r\n        Retrofit retrofit = builder.client(httpClient).build();\r\n        return retrofit.create(serviceClass);\r\n    }\r\n}\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/square/retrofit/issues/comments/169685367","html_url":"https://github.com/square/retrofit/issues/1448#issuecomment-169685367","issue_url":"https://api.github.com/repos/square/retrofit/issues/1448","id":169685367,"user":{"login":"JakeWharton","id":66577,"avatar_url":"https://avatars.githubusercontent.com/u/66577?v=3","gravatar_id":"","url":"https://api.github.com/users/JakeWharton","html_url":"https://github.com/JakeWharton","followers_url":"https://api.github.com/users/JakeWharton/followers","following_url":"https://api.github.com/users/JakeWharton/following{/other_user}","gists_url":"https://api.github.com/users/JakeWharton/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeWharton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeWharton/subscriptions","organizations_url":"https://api.github.com/users/JakeWharton/orgs","repos_url":"https://api.github.com/users/JakeWharton/repos","events_url":"https://api.github.com/users/JakeWharton/events{/privacy}","received_events_url":"https://api.github.com/users/JakeWharton/received_events","type":"User","site_admin":false},"created_at":"2016-01-07T14:53:22Z","updated_at":"2016-01-07T14:53:22Z","body":"You have to use `@Part` for all the params that are part of the multipart body. Dynamic filenames is being tracked by #1140."}}