File tree Expand file tree Collapse file tree 6 files changed +78
-0
lines changed
main/java/com/howtoprogram/repository/feign/upload
test/java/com/howtoprogram/repository/feign/upload Expand file tree Collapse file tree 6 files changed +78
-0
lines changed Original file line number Diff line number Diff line change 11/target /
2+ /.idea /
3+ /.settings /
4+ /.project /
5+ /.classpath /
6+ /open-feign-example.iml
Original file line number Diff line number Diff line change 1+ Hello. This a note.
Original file line number Diff line number Diff line change 1717 <artifactId >feign-core</artifactId >
1818 <version >8.18.0</version >
1919 </dependency >
20+ <dependency >
21+ <groupId >io.github.openfeign.form</groupId >
22+ <artifactId >feign-form</artifactId >
23+ <version >2.0.5</version >
24+ </dependency >
2025 <dependency >
2126 <groupId >com.netflix.feign</groupId >
2227 <artifactId >feign-jackson</artifactId >
2934 <version >4.8.1</version >
3035 <scope >test</scope >
3136 </dependency >
37+
3238 </dependencies >
3339</project >
Original file line number Diff line number Diff line change 1+ package com .howtoprogram .repository .feign .upload ;
2+
3+
4+ import feign .Headers ;
5+ import feign .Param ;
6+ import feign .RequestLine ;
7+ import feign .Response ;
8+
9+ import java .io .File ;
10+
11+
12+ public interface FileUploadResource {
13+
14+ @ RequestLine ("POST /upload" )
15+ @ Headers ("Content-Type: multipart/form-data" )
16+ Response uploadFile (@ Param ("name" ) String name , @ Param ("file" ) File file );
17+
18+ }
Original file line number Diff line number Diff line change 1+ package com .howtoprogram .repository .feign .upload ;
2+
3+ import feign .Feign ;
4+ import feign .Response ;
5+ import feign .form .FormEncoder ;
6+ import feign .jackson .JacksonEncoder ;
7+
8+ import java .io .File ;
9+
10+ public class UploadService {
11+ private static final String HTTP_FILE_UPLOAD_URL = "http://localhost:8080/v1" ;
12+
13+
14+ public boolean uploadFile (String fileName , File file ) {
15+
16+ FileUploadResource fileUploadResource = Feign .builder ()
17+ .encoder (new FormEncoder (new JacksonEncoder ()))
18+ .target (FileUploadResource .class , HTTP_FILE_UPLOAD_URL );
19+
20+ Response response = fileUploadResource .uploadFile ("Example file" , file );
21+ return response .status () == 200 ;
22+ }
23+
24+ }
Original file line number Diff line number Diff line change 1+ package com .howtoprogram .repository .feign .upload ;
2+
3+ import com .howtoprogram .repository .feign .auth .AuthStatus ;
4+ import com .howtoprogram .repository .feign .auth .RequestReponseService ;
5+ import org .junit .Test ;
6+
7+ import java .io .File ;
8+
9+ import static org .junit .Assert .assertEquals ;
10+ import static org .junit .Assert .assertNotNull ;
11+ import static org .junit .Assert .assertTrue ;
12+
13+ public class TestUploadService {
14+
15+ @ Test
16+ public void testUploadFile () {
17+ UploadService uploadService = new UploadService ();
18+ File file = new File ("notes.txt" );
19+ assertTrue (file .exists ());
20+ assertTrue (uploadService .uploadFile ("The optional file name" ,file ));
21+
22+ }
23+
24+ }
You can’t perform that action at this time.
0 commit comments