@@ -131,12 +131,16 @@ public Object fromJson(String json, Class c) {
131131
132132 public void setGson (Gson gson ) { this .gson = gson ; }
133133
134+ public String apiUrl (Object requestDto ){
135+ return this .replyUrl + requestDto .getClass ().getSimpleName ();
136+ }
137+
134138 public String createUrl (Object requestDto ) {
135139 return createUrl (requestDto , null );
136140 }
137141
138142 public String createUrl (Object requestDto , Map <String ,String > query ) {
139- String requestUrl = this .replyUrl + requestDto . getClass (). getSimpleName ( );
143+ String requestUrl = this .apiUrl ( requestDto );
140144
141145 StringBuilder sb = new StringBuilder ();
142146 Field lastField = null ;
@@ -679,21 +683,33 @@ public void clearCookies() {
679683 cookieManager .getCookieStore ().removeAll ();
680684 }
681685
682- // Add these methods to JsonServiceClient class:
683-
684- public <TResponse > TResponse postFilesWithRequest (IReturn <TResponse > request , FileUpload [] filesresponseType ) {
685- String requestUrl = this .replyUrl + requestDto .getClass ().getSimpleName ();
686- return postFilesWithRequest (requestUrl , request , files , request .getResponseType ());
686+ // Convenience method for single file upload
687+ @ Override
688+ public <TResponse > TResponse postFileWithRequest (IReturn <TResponse > request , FileUpload file ) {
689+ return postFilesWithRequest (this .apiUrl (request ), request , new FileUpload []{file }, request .getResponseType ());
690+ }
691+ @ Override
692+ public <TResponse > TResponse postFileWithRequest (Object request , FileUpload file , Object responseType ) {
693+ return postFilesWithRequest (this .apiUrl (request ), request , new FileUpload []{file }, responseType );
694+ }
695+ @ Override
696+ public <TResponse > TResponse postFileWithRequest (String path , Object request , FileUpload file , Object responseType ) {
697+ return postFilesWithRequest (path , request , new FileUpload []{file }, responseType );
687698 }
688699
689- public <TResponse > TResponse postFilesWithRequest (Object request , FileUpload [] files , Class <TResponse > responseType ) {
690- String requestUrl = this .replyUrl + requestDto .getClass ().getSimpleName ();
691- return postFilesWithRequest (requestUrl , request , files , responseType );
700+ @ Override
701+ public <TResponse > TResponse postFilesWithRequest (IReturn <TResponse > request , FileUpload [] files ) {
702+ return this .postFilesWithRequest (this .apiUrl (request ), request , files , request .getResponseType ());
703+ }
704+ @ Override
705+ public <TResponse > TResponse postFilesWithRequest (Object request , FileUpload [] files , Object responseType ) {
706+ return this .postFilesWithRequest (this .apiUrl (request ), request , files , responseType );
692707 }
693708
694709 private static final String BOUNDARY = "---" + UUID .randomUUID ().toString () + "---" ;
695710
696- public <TResponse > TResponse postFilesWithRequest (String path , Object request , FileUpload [] files , Class <TResponse > responseType ) {
711+ @ Override
712+ public <TResponse > TResponse postFilesWithRequest (String path , Object request , FileUpload [] files , Object responseType ) {
697713 try {
698714 // Prepare multipart data
699715 ByteArrayOutputStream baos = new ByteArrayOutputStream ();
@@ -744,9 +760,4 @@ private void writeMultipartFile(DataOutputStream dos, FileUpload file) throws IO
744760 dos .write (file .getFileBytes ());
745761 dos .writeBytes ("\r \n " );
746762 }
747-
748- // Convenience method for single file upload
749- public <TResponse > TResponse postFileWithRequest (String path , Object request , FileUpload file , Class <TResponse > responseType ) {
750- return postFilesWithRequest (path , request , new FileUpload []{file }, responseType );
751- }
752763}
0 commit comments