欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > RestTemplate基本使用之HTTP实现GET请求和POST请求

RestTemplate基本使用之HTTP实现GET请求和POST请求

2024/10/23 21:35:05 来源:https://blog.csdn.net/weixin_43244332/article/details/143056426  浏览:    关键词:RestTemplate基本使用之HTTP实现GET请求和POST请求

一、GET请求实例

    public static TianQi getTianQi(String city) {RestTemplate restTemplate = new RestTemplate();HashMap res = restTemplate.getForObject("http://www.tianqiapi.com/api/?version=v6&appid=15118158&appsecret=gVNnwva8&city=" + city, HashMap.class);if (res == null) {return null;}Object errCode = res.get("errcode");if (errCode != null) {log.error("获取天气错误,city:{},res:{}", city, JsonUtil.toJson(res));int code = (int) errCode;int error = 100;if (code == error) {return null;}}TianQi tianQi = new TianQi();tianQi.setCountry((String) res.get("country"));tianQi.setTem((String) res.get("tem"));tianQi.setTem1((String) res.get("tem1"));tianQi.setTem2((String) res.get("tem2"));tianQi.setCity((String) res.get("city"));tianQi.setWea((String) res.get("wea"));tianQi.setWeaImg((String) res.get("wea_img"));tianQi.setAirTips((String) res.get("air_tips"));tianQi.setDate((String) res.get("date"));tianQi.setUpdateTime((String) res.get("update_time"));return tianQi;}

二、POST请求实例

package com.gzzoc.wisdom.personal.conv.business.helper;import com.alibaba.fastjson.JSON;
import com.gzzoc.wisdom.common.model.personal.dto.ChatZOCDataDTO;
import com.gzzoc.wisdom.common.model.personal.dto.ChatZOCRequestDataDTO;
import com.gzzoc.wisdom.personal.conv.business.service.ConvDetailsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;import java.io.BufferedReader;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;/*** class: LLMChatZOCClient** @author Selig* @date 2024-10-17 14:27*/
@Slf4j
@Component
public class LLMChatZOCClient {private final static String URL = "url地址";public static ResponseEntity<String> getChatZOCData(ChatZOCRequestDataDTO dto) {RestTemplate restTemplate = new RestTemplate();HttpHeaders headers = new HttpHeaders();//默认流式返回
//        headers.setContentType(MediaType.TEXT_EVENT_STREAM);headers.add("Accept", "application/json");headers.add("Content-type", "application/json");ChatZOCDataDTO requestBody = new ChatZOCDataDTO();if (dto.getStream() != null) {requestBody.setStream(false);}requestBody.setMessages(dto.getMessages());log.info("requestBody----"+JSON.toJSONString(requestBody));//3、组装请求头和参数HttpEntity<String> formEntity = new HttpEntity<>(JSON.toJSONString(requestBody), headers);//4、发起post请求ResponseEntity<String> response = null;try {response = restTemplate.postForEntity(URL, formEntity, String.class);} catch (RestClientException e) {e.printStackTrace();}//5、获取http状态码if (response != null){int statusCodeValue = response.getStatusCodeValue();log.info("httpCode-----"+statusCodeValue);}return response;}}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com