Flask是一个轻量级的Python Web框架,用于快速构建Web应用程序。Spring Boot是一个用于简化Spring应用程序初始搭建以及开发过程的框架。它允许你快速创建独立的、生产级别的基于Spring的应用程序。
要与运行在8080端口上的Spring微服务进行通信,你可以使用Flask中的requests
库来发送HTTP请求。以下是一个简单的示例:
from flask import Flask, jsonify
import requests
app = Flask(__name__)
@app.route('/get_data', methods=['GET'])
def get_data():
url = 'http://localhost:8080/api/data'
response = requests.get(url)
if response.status_code == 200:
data = response.json()
return jsonify(data)
else:
return jsonify({'error': 'Failed to fetch data'}), 500
if __name__ == '__main__':
app.run(port=5000)
假设你的Spring Boot微服务有一个简单的REST API:
@RestController
@RequestMapping("/api")
public class DataController {
@GetMapping("/data")
public Map<String, String> getData() {
Map<String, String> data = new HashMap<>();
data.put("message", "Hello from Spring Boot!");
return data;
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://localhost:5000")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowCredentials(true);
}
}
requests
库的auth
参数进行基本认证,或者处理JWT令牌。import requests
from requests.auth import HTTPBasicAuth
response = requests.get(url, auth=HTTPBasicAuth('username', 'password'))
通过以上步骤,你可以实现Flask应用与运行在8080端口上的Spring Boot微服务的通信。
领取专属 10元无门槛券
手把手带您无忧上云