Spring Cloud OpenFeign: Difference between revisions
Jump to navigation
Jump to search
Line 96: | Line 96: | ||
| valign="top" | | | valign="top" | | ||
* [https://docs.spring.io/spring-cloud-openfeign/docs/3.1.3/reference/html/appendix.html OpenFeign » 3.1 » Common application properties] | * [https://docs.spring.io/spring-cloud-openfeign/docs/3.1.3/reference/html/appendix.html OpenFeign » 3.1 » Common application properties] | ||
* [https://cloud.spring.io/spring-cloud-openfeign/2.1.x/single/spring-cloud-openfeign.html#spring-cloud-feign-overriding-defaults OpenFeign » 2.1 » Overriding Feign Defaults] | |||
* [https://docs.spring.io/spring-cloud-openfeign/docs/3.1.3/reference/html/index.html#spring-cloud-feign-overriding-defaults OpenFeign » 3.1 » Overriding Feign Defaults] | * [https://docs.spring.io/spring-cloud-openfeign/docs/3.1.3/reference/html/index.html#spring-cloud-feign-overriding-defaults OpenFeign » 3.1 » Overriding Feign Defaults] | ||
* [https://medium.com/javarevisited/simple-implementation-of-spring-cloud-openfeign-7f022630d01d OpenFeign » Simple Implementation] | * [https://medium.com/javarevisited/simple-implementation-of-spring-cloud-openfeign-7f022630d01d OpenFeign » Simple Implementation] | ||
* [https://www.javacodemonk.com/feign-requestinterceptor-in-spring-boot-cbe5d967 OpenFeign » Request Interceptor] | * [https://www.javacodemonk.com/feign-requestinterceptor-in-spring-boot-cbe5d967 OpenFeign » Request Interceptor] | ||
Line 107: | Line 107: | ||
| valign="top" | | | valign="top" | | ||
* [https://cloud.spring.io/spring-cloud-openfeign/2.1.x/single/spring-cloud-openfeign.html#spring-cloud-feign-hystrix-fallbackk OpenFeign » 2.1 » CircuitBreaker Fallbacks] | |||
* [https://docs.spring.io/spring-cloud-openfeign/docs/3.1.3/reference/html/index.html#spring-cloud-feign-circuitbreaker-fallback OpenFeign » 3.1 » CircuitBreaker Fallbacks] | |||
* [https://stackoverflow.com/questions/40262132/ OpenFeign » Add a Request Interceptor] | * [https://stackoverflow.com/questions/40262132/ OpenFeign » Add a Request Interceptor] | ||
Latest revision as of 02:27, 13 February 2024
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--
others dependencies
-->
</dependencies>
</dependencyManagement>
|
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>
</dependencies>
|
| |
timeout 60 telnet localhost 1983 \
;printf '\n'
|
nc -w 60 localhost 1983 \
;printf '\n'
|
Mocking API
mkdir -p ~/Documents/flask-playground/MockApi
python3 -m venv ~/.venv/flask --prompt="Flask"
source ~/.venv/flask/bin/activate
pip install Flask
rm rf ~/Documents/flask-playground/MockApi/*.py
cat << EOF | tee ~/Documents/flask-playground/MockApi/__main__.py >/dev/null
from flask import Flask, request, json, jsonify
import time
app = Flask(__name__)
app.json.sort_keys = False
companies = [{'id': 1, 'name': 'Chorke', 'concern': False}, {'id': 2, 'name': 'Academia', 'concern': True}]
@app.route("/api/v1/companies")
def data():
time.sleep(5)
lang_code = request.args.get('lang_code')
print(f'lang_code: {lang_code}!')
# return json.dumps(companies)
return jsonify(companies)
if __name__ == "__main__":
app.run(host='127.0.0.1', port=1983, debug= True)
EOF
python ~/Documents/flask-playground/MockApi
time curl -k http://127.0.0.1:1983/api/v1/companies?lang_code=EN
time curl -i http://127.0.0.1:1983/api/v1/companies?lang_code=EN
time http GET 127.0.0.1:1983/api/v1/companies?lang_code=EN --pretty=colors