springboot 怎么传参数给python
时间: 2024-06-11 22:10:54 浏览: 8
Spring Boot是一个Java开发框架,不能直接将参数传递给Python。不过,可以通过调用Python脚本的方式传递参数。以下是一个简单的示例:
1. 创建一个Python脚本,例如test.py,该脚本接收一个参数并将其打印出来。
```python
import sys
if __name__ == '__main__':
print('Received parameter:', sys.argv[1])
```
2. 在Spring Boot中,可以使用ProcessBuilder调用Python脚本并传递参数。以下是一个示例:
```java
@RestController
public class MyController {
@GetMapping("/test")
public String test(@RequestParam("param") String param) throws IOException {
ProcessBuilder pb = new ProcessBuilder("python", "test.py", param);
Process p = pb.start();
BufferedReader bfr = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
StringBuilder sb = new StringBuilder();
while ((line = bfr.readLine()) != null) {
sb.append(line).append("\n");
}
return sb.toString();
}
}
```
在上面的示例中,我们创建了一个GetMapping的REST接口,该接口接收一个名为“param”的参数。在test方法中,我们使用ProcessBuilder调用Python脚本,并将参数传递给它。然后,我们从脚本的输出流中读取结果并将其返回。
3. 启动Spring Boot应用程序并访问/test接口,例如:http://localhost:8080/test?param=Hello
此时,Python脚本会接收到参数“Hello”并将其打印出来,Spring Boot应用程序将显示Python脚本的输出。