diff --git a/pom.xml b/pom.xml index 69f6c4f8a..53f67f51e 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,7 @@ ribbon sax slf4j + spring spring4 soap soap-jakarta @@ -643,30 +644,34 @@ license-maven-plugin ${license-maven-plugin.version} - -
${main.basedir}/src/etc/header.txt
- - .travis.yml - .editorconfig - .gitattributes - .gitignore - .mvn/** - mvnw* - etc/header.txt - **/.idea/** - **/target/** - LICENSE - NOTICE - OSSMETADATA - **/*.md - **/*.asciidoc - **/*.iuml - bnd.bnd - travis/** - src/test/resources/** - src/main/resources/** - .circleci/** - + + + +
${main.basedir}/src/etc/header.txt
+ + .travis.yml + .editorconfig + .gitattributes + .gitignore + .mvn/** + mvnw* + etc/header.txt + **/.idea/** + **/target/** + LICENSE + NOTICE + OSSMETADATA + **/*.md + **/*.asciidoc + **/*.iuml + bnd.bnd + travis/** + src/test/resources/** + src/main/resources/** + .circleci/** + +
+
true SLASHSTAR_STYLE diff --git a/spring/README.md b/spring/README.md new file mode 100644 index 000000000..877d71533 --- /dev/null +++ b/spring/README.md @@ -0,0 +1,40 @@ +# Feign Spring +This module overrides OpenFeign/feign annotation processing to instead use standard ones supplied by the spring annotations specification. + + +## Currently Supported Annotation Processing +Feign only supports processing java interfaces (not abstract or concrete classes). + +ISE is raised when any annotation's value is empty or null. Ex. `Path("")` raises an ISE. + +Here are a list of behaviors currently supported. +### Type Annotations +#### `@RequestMapping` +Appends the ```value``` to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. +The ```method``` sets the request method. +The ```produces``` adds the first value as the `Accept` header. +The ```consume``` adds the first value as the `Content-Type` header. +### Method Annotations +#### `@RequestMapping` +Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. +The method sets the request method. +#### `@GetMapping` +Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. +Sets the `GET` request method. +#### `@PostMapping` +Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. +Sets the `POST` request method. +#### `@PutMapping` +Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. +Sets the `PUT` request method. +#### `@DeleteMapping` +Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. +Sets the `DELETE` request method. +#### `@PatchMapping` +Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. +Sets the `PATCH` request method. +### Parameter Annotations +#### `@PathVariable` +Links the value of the corresponding parameter to a template variable declared in the path. +#### `@RequestParam` +Links the value of the corresponding parameter to a query parameter. When invoked, null will skip the query param. diff --git a/spring/pom.xml b/spring/pom.xml new file mode 100644 index 000000000..b6d60a466 --- /dev/null +++ b/spring/pom.xml @@ -0,0 +1,60 @@ + + + + 4.0.0 + + + io.github.openfeign + parent + 13.3-SNAPSHOT + + + feign-spring + Feign Spring + Feign Contracts for Spring + + + ${project.basedir}/.. + + 5.3.34 + + + + + ${project.groupId} + feign-core + + + org.springframework + spring-web + ${spring.version} + + + + + ${project.groupId} + feign-mock + test + + + ${project.groupId} + feign-jackson + test + + + + diff --git a/spring4/src/main/java/feign/spring/SpringContract.java b/spring/src/main/java/feign/spring/SpringContract.java similarity index 99% rename from spring4/src/main/java/feign/spring/SpringContract.java rename to spring/src/main/java/feign/spring/SpringContract.java index d0685ff8e..461ddb469 100755 --- a/spring4/src/main/java/feign/spring/SpringContract.java +++ b/spring/src/main/java/feign/spring/SpringContract.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 The Feign Authors + * Copyright 2012-2024 The Feign Authors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at diff --git a/spring4/src/test/java/feign/spring/Data.java b/spring/src/test/java/feign/spring/Data.java similarity index 94% rename from spring4/src/test/java/feign/spring/Data.java rename to spring/src/test/java/feign/spring/Data.java index a2f240bdb..230d228c0 100755 --- a/spring4/src/test/java/feign/spring/Data.java +++ b/spring/src/test/java/feign/spring/Data.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 The Feign Authors + * Copyright 2012-2024 The Feign Authors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at diff --git a/spring4/src/test/java/feign/spring/SpringContractTest.java b/spring/src/test/java/feign/spring/SpringContractTest.java similarity index 99% rename from spring4/src/test/java/feign/spring/SpringContractTest.java rename to spring/src/test/java/feign/spring/SpringContractTest.java index 3e89ac1fe..7ec7496bb 100755 --- a/spring4/src/test/java/feign/spring/SpringContractTest.java +++ b/spring/src/test/java/feign/spring/SpringContractTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 The Feign Authors + * Copyright 2012-2024 The Feign Authors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at diff --git a/spring4/README.md b/spring4/README.md index 877d71533..351e01133 100644 --- a/spring4/README.md +++ b/spring4/README.md @@ -1,40 +1,3 @@ -# Feign Spring -This module overrides OpenFeign/feign annotation processing to instead use standard ones supplied by the spring annotations specification. +# Feign Spring4 - -## Currently Supported Annotation Processing -Feign only supports processing java interfaces (not abstract or concrete classes). - -ISE is raised when any annotation's value is empty or null. Ex. `Path("")` raises an ISE. - -Here are a list of behaviors currently supported. -### Type Annotations -#### `@RequestMapping` -Appends the ```value``` to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. -The ```method``` sets the request method. -The ```produces``` adds the first value as the `Accept` header. -The ```consume``` adds the first value as the `Content-Type` header. -### Method Annotations -#### `@RequestMapping` -Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. -The method sets the request method. -#### `@GetMapping` -Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. -Sets the `GET` request method. -#### `@PostMapping` -Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. -Sets the `POST` request method. -#### `@PutMapping` -Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. -Sets the `PUT` request method. -#### `@DeleteMapping` -Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. -Sets the `DELETE` request method. -#### `@PatchMapping` -Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations. -Sets the `PATCH` request method. -### Parameter Annotations -#### `@PathVariable` -Links the value of the corresponding parameter to a template variable declared in the path. -#### `@RequestParam` -Links the value of the corresponding parameter to a query parameter. When invoked, null will skip the query param. +The module was moved to [spring](../spring) and renamed to **Feign Spring**. \ No newline at end of file diff --git a/spring4/pom.xml b/spring4/pom.xml index 8e8b9cac7..d4b77c2ee 100644 --- a/spring4/pom.xml +++ b/spring4/pom.xml @@ -24,7 +24,7 @@ feign-spring4 - Feign spring + Feign Spring4 Feign Contracts for Spring4 @@ -33,28 +33,9 @@ 4.3.30.RELEASE - - - ${project.groupId} - feign-core - - - org.springframework - spring-web - ${spring.version} - - - - - ${project.groupId} - feign-mock - test - - - ${project.groupId} - feign-jackson - test - - - + + + feign-spring + + diff --git a/src/docs/overview-mindmap.iuml b/src/docs/overview-mindmap.iuml index ee3b26633..9167ed798 100644 --- a/src/docs/overview-mindmap.iuml +++ b/src/docs/overview-mindmap.iuml @@ -17,7 +17,7 @@ *** JAX-RS *** JAX-RS 2 *** JAX-RS 3 / Jakarta -*** Spring 4 +*** Spring 5 *** SOAP *** SOAP Jakarta *** Spring boot (3rd party)