springboot 调用外部接口方法

引入pom文件

XML 复制代码
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.1</version>
</dependency>

请求方法get

java 复制代码
@RestController
public class WeatherController {

    @GetMapping("/weather")
    public String getWeather(@RequestParam("city") String city) {
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                .url("https://*****")
                .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.isSuccessful()) {
                return response.body().string();
            } else {
                return "Failed to get weather data";
            }
        } catch (IOException e) {
            return "Error: " + e.getMessage();
        }
    }
}

post请求

java 复制代码
import okhttp3.*;

import java.io.IOException;

public class Example {
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();

        // 构造请求体
        RequestBody requestBody = new FormBody.Builder()
                .add("username", "admin")
                .add("password", "password")
                .build();

        // 构造请求对象
        Request request = new Request.Builder()
                .url("http://example.com/api/login")
                .post(requestBody)
                .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.isSuccessful()) {
                // 处理响应数据
                System.out.println(response.body().string());
            } else {
                System.out.println("请求失败");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
相关推荐
zyxzyx6662 小时前
Canal 解析与 Spring Boot 整合实战
java·spring boot·后端
Studying_swz3 小时前
Spring WebFlux之流式输出
java·后端·spring
计算机学长felix4 小时前
基于SpringBoot的“酒店管理系统”的设计与实现(源码+数据库+文档+PPT)
spring boot·毕业设计
糖心何包蛋爱编程4 小时前
(二)Reactor核心-前置知识1
java·响应式编程·lambda表达式·干货分享
江沉晚呤时4 小时前
C#原型模式:通过克隆对象来优化创建过程
java·开发语言·microsoft·c#·asp.net·.netcore
飞翔中文网6 小时前
Java设计模式之装饰器模式
java·设计模式
Suwg2096 小时前
【Java导出word】使用poi-tl轻松实现Java导出数据到Word文档
java·开发语言·word·poi-tl
坚持拒绝熬夜6 小时前
JVM的一些知识
java·jvm·笔记·java-ee
修炼成精8 小时前
C#实现的一个简单的软件保护方案
java·开发语言·c#
网安-轩逸8 小时前
网络安全——SpringBoot配置文件明文加密
spring boot·安全·web安全