• 后台发送get请求


    第一步:编写Controller,让后台去请求接口

    package controller;

    import java.util.List;

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;

    import service.BillsService;
    import util.Page;
    import annotation.ControllerPointcut;

    import com.alibaba.fastjson.JSON;

    import entity.Bills;

    @Controller
    @RequestMapping("/bills")
    public class BillsController {



    @RequestMapping(value="/getTest",produces={"application/json;charset=UTF-8"})
    @ResponseBody
    public String getTest(@RequestParam(value="num1",required=false) String num1,@RequestParam(value="num2",required=false) String num2){
    Integer sum=Integer.parseInt(num1)+Integer.parseInt(num2);
    return JSON.toJSONString(sum);
    }

    }

    第二步:启动web项目,这里项目名tally,项目请求地址是:http://localhost:8080/tally

    第三步:也是最重要的一步,编写方法,后台get请求目标

    package com.bingo.qing;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;

    public class HttpRequest {

    /**
    * 向指定URL发送GET方法的请求
    *
    * @param url
    * 发送请求的URL
    * @param param
    * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
    * @return URL 所代表远程资源的响应结果
    */
    public static String sendGet(String url, String param) {
    String result = "";
    BufferedReader in = null;
    try {
    String urlNameString = url + "?" + param;
    URL realUrl = new URL(urlNameString);
    // 打开和URL之间的连接
    URLConnection connection = realUrl.openConnection();
    // 设置通用的请求属性
    connection.setRequestProperty("accept", "*/*");
    connection.setRequestProperty("connection", "Keep-Alive");
    connection.setRequestProperty("user-agent",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
    // 建立实际的连接
    connection.connect();
    // 获取所有响应头字段
    Map<String, List<String>> map = connection.getHeaderFields();
    // 遍历所有的响应头字段
    for (String key : map.keySet()) {
    System.out.println(key + "--->" + map.get(key));
    }
    // 定义 BufferedReader输入流来读取URL的响应
    in = new BufferedReader(new InputStreamReader(
    connection.getInputStream()));
    String line;
    while ((line = in.readLine()) != null) {
    result += line;
    }
    } catch (Exception e) {
    System.out.println("发送GET请求出现异常!" + e);
    e.printStackTrace();
    }
    // 使用finally块来关闭输入流
    finally {
    try {
    if (in != null) {
    in.close();
    }
    } catch (Exception e2) {
    e2.printStackTrace();
    }
    }
    return result;
    }



    public static void main(String[] args) {

    //发送 POST 请求
    String sr=HttpRequest.sendPost("http://localhost:8080/tally/bills/PostTest", "num1=456&num2=123");
    System.out.println(sr);
    }

    }

    第四步:启动main方法,返回结果如下

  • 相关阅读:
    【Quartz】Quartz将Job保存在数据库中所需表的说明
    第十章 springboot + logback
    第二章 rabbitmq在mac上的安装
    第九章 springboot + mybatis + 多数据源 (AOP实现)
    第一章 AOP
    第八章 springboot + mybatis + 多数据源
    第三章 线程安全的DateFormat工具类
    第六章 consul UI
    第五章 consul key/value
    附1 consul常用命令+常用选项
  • 原文地址:https://www.cnblogs.com/fengquan-blog/p/10655864.html
Copyright © 2020-2023  润新知