【业务功能篇54】Springboot项目常用工具类:HTTP状态码/客户端request

java Http请求工具类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ConnectException; import java.net.SocketTimeoutException; import java.net.URL; import java. 阅读详情

 状态码常量类

/**
 * 返回状态码
 **/
public class HttpStatus {

    /**
     * 操作成功
     */
    public static final int SUCCESS = 200;

    /**
     * 对象创建成功
     */
    public static final int CREATED = 201;

    /**
     * 请求已经被接受
     */
    public static final int ACCEPTED = 202;

    /**
     * 操作已经执行成功,但是没有返回数据
     */
    public static final int NO_CONTENT = 204;

    /**
     * 资源已被移除
     */
    public static final int MOVED_PERM = 301;

    /**
     * 重定向
     */
    public static final int SEE_OTHER = 303;

    /**
     * 资源没有被修改
     */
    public static final int NOT_MODIFIED = 304;

    /**
     * 参数列表错误(缺少,格式不匹配)
     */
    public static final int BAD_REQUEST = 400;

    /**
     * 未授权
     */
    public static final int UNAUTHORIZED = 401;

    /**
     * 访问受限,授权过期
     */
    public static final int FORBIDDEN = 403;

    /**
     * 资源,服务未找到
     */
    public static final int NOT_FOUND = 404;

    /**
     * 不允许的http方法
     */
    public static final int BAD_METHOD = 405;

    /**
     * 资源冲突,或者资源被锁
     */
    public static final int CONFLICT = 409;

    /**
     * 不支持的数据,媒体类型
     */
    public static final int UNSUPPORTED_TYPE = 415;

    /**
     * 系统内部错误
     */
    public static final int ERROR = 500;

    /**
     * 接口未实现
     */
    public static final int NOT_IMPLEMENTED = 501;
}

客户端工具类  获取request\response

/**
 * 客户端工具类
 **/
public class ServletUtils {

    public static ServletRequestAttributes getRequestAttributes()
    {
        RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
        return (ServletRequestAttributes) attributes;
    }

    /**
     * 获取request
     */
    public static HttpServletRequest getRequest()
    {
        return getRequestAttributes().getRequest();
    }

    /**
     * 获取session
     */
    public static HttpSession getSession()
    {
        return getRequest().getSession();
    }

    /**
     * 获取response
     */
    public static HttpServletResponse getResponse()
    {
        return getRequestAttributes().getResponse();
    }

    /**
     * 获取String参数
     */
    public static String getParameter(String name)
    {
        return getRequest().getParameter(name);
    }


    /**
     * 获取Integer参数
     */
    public static Integer getParameterToInt(String name)
    {
        return Integer.parseInt(getRequest().getParameter(name));
    }

    /**
     * 将字符串渲染到客户端
     *
     * @param response 渲染对象
     * @param string 待渲染的字符串
     * @return null
     */
    public static String renderString(HttpServletResponse response, String string)
    {
        try
        {
            response.setStatus(200);
            response.setContentType("application/json");
            response.setCharacterEncoding("utf-8");
            response.getWriter().print(string);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return null;
    }

}

 

还在用HttpUtil?SpringBoot 3.0全新HTTP客户端工具来了,用起来够优雅~ 我们平时开发项目的时候,经常会需要远程调用下其他服务提供的接口,于是我们会使用一些HTTP工具类比如Hutool提供的HttpUtil。前不久SpringBoot 3.0发布了,出了一个Http Interface的新特性,它允许我们使用声明式服务调用的方式来调用远程接口,今天我们就来聊聊它的使用! 阅读详情

相关推荐

Vue+SpringBoot个人博客项目实战:从零搭建到部署全流程

前后端分离架构是现代Web应用开发的主流模式,它将前端交互与后端服务解耦,通过RESTful API通信,既提升了开发效率,也便于独立部署和扩展。在个人博客这类业务场景中,实现这一架构需要掌握Vue Router路由控制、Pinia状态管理、axios请求封装,以及SpringBoot接口设计、JWT鉴权和MyBatis-Plus持久化等关键技术。同时,生产环境还要面对XSS攻击防护、m3u8视频播放等实际问题,这些都是工程实践中的高频需求。本文以个人博客项目为载体,完整梳理从技术选型、数据库建模、前后端联

weixin_33804582的博客 442

SpringBoot-Http请求工具类

【代码】SpringBoot-Http请求工具类。

weixin_45716754的博客 1530

SpringBoot+Vue入校申报审批系统:从设计到部署全解析

前后端分离架构已成为现代Web开发的标配,SpringBoot与Vue的组合更是企业级项目的经典选型。其中,权限管理作为系统安全的核心,通过JWT鉴权与角色控制实现细粒度访问;审批流程则依赖状态机设计,确保业务流转严谨可控。基于这一技术栈构建的入校申报审批系统,覆盖学生申请、多级审批、数据统计等典型场景,既贴合校园实际需求,又完整展现了从数据库设计到前后端联调、部署上线的工程实践能力。本文从系统设计思路、核心表结构、SpringBoot后端实现、Vue前端交互到常见问题排查,深入拆解一个可落地、可扩展的毕业

weixin_33841503的博客 346

【SpringBoot】29 基于HttpClient的Http工具类

Http 协议是 Internet 上使用的最多、最重要的协议之一,越来越多的 Java 应用程序需要直接通过 Http 协议来访问网络资源。虽然在 JDK 的 java net 包中已经提供了访问 Http 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包

寻道书生的博客 2809

SpringBoot+Vue校园竞赛管理系统:从需求建模到答辩演示全解析

前后端分离已成为JavaWeb项目的主流开发模式,SpringBoot负责后端接口和业务逻辑,Vue负责页面交互,两者以REST接口联调,组成从需求建模到部署上线的完整链路。此架构在校园竞赛管理系统这类场景中非常典型,核心是区分管理员、评委、学生三类角色,管理竞赛报名、作品提交、打分公示等状态流转,并涉及数据库表结构设计、SQL优化、JWT登录鉴权、跨域处理等一系列常见工程问题。围绕校园竞赛管理系统,从需求建模、技术选型、核心表结构、接口联调方法到毕业设计答辩避坑要点,帮助开发者快速掌握一个前后端分离项目的

weixin_34224941的博客 381

从零搭建JavaWeb一对一聊天系统:WebSocket实战与避坑指南

WebSocket是一种基于TCP的全双工通信协议,通过一次HTTP握手建立持久连接,实现服务端与客户端的实时双向消息推送。其核心原理在于握手升级与帧协议,相比轮询方案能显著降低延迟与服务器压力。在JavaWeb开发中,WebSocket常用于在线聊天、实时通知等场景。一对一聊天系统需要处理用户身份绑定、会话管理、消息路由与离线存储等关键问题。本文基于SpringBoot与WebSocket,详细讲解一对一网页聊天系统的完整实现,包括数据库设计、Session管理、消息协议与常见部署避坑,帮助开发者掌握实时

weixin_34342992的博客 227

2024年最全Spring Boot项目下最优雅的http客户端工具,用它就够了,太香了,真的醉了

金三银四马上就到了,希望大家能好好学习一下这些技术点学习视频:本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取r(具体可以参考DefaultLoggingInterceptor的实现),然后在配置文件中进行相关配置即可。金三银四马上就到了,希望大家能好好学习一下这些技术点学习视频:[外链图片转存中…

2301_82241647的博客 1749

RK3588s Camera ISP调优详解(一)ISP调试工具及环境配置(附下载途径)

本文主要介绍了rkisp tuner工具的连接与使用,并附上了工具及依赖库的下载地址

zongheng_raobo的博客 6273

SpringBoot+Vue超市进销存系统:毕业设计实战部署与核心功能解析

企业级应用开发中,前后端分离架构已成为主流范式,其核心在于通过清晰的接口契约实现业务逻辑与用户界面的解耦。SpringBoot作为Java领域高效的微服务框架,简化了后端RESTful API的开发与部署;Vue.js则以其渐进式和响应式特性,成为构建现代化单页面应用(SPA)的热门选择。这种技术组合的价值在于能够快速构建出模块清晰、易于维护的全栈应用,尤其适用于管理后台、电商平台及各类业务系统。本文聚焦于一个典型的应用场景——超市进销存管理系统,详细拆解其基于SpringBoot和Vue的技术实现,涵盖从

weixin_33922672的博客 399

草莓成熟度与叶片病虫害智能检测数据集应用全解析

本文深入解析草莓成熟度与叶片病虫害智能检测数据集的应用价值,涵盖从绿草莓到红果转色的完整成熟周期及白粉病、炭疽病等7种病害的精准识别。通过实战案例展示如何提升病害识别率至94%,并介绍数据集的科研价值,包括跨品种迁移学习和多模态数据融合技术。

weixin_28366353的博客 275

Windows电脑如何用MobaXterm连接宇树G1机器人?保姆级SSH配置指南

本文提供了一份详细的保姆级教程,指导Windows用户使用MobaXterm通过SSH连接宇树G1机器人。内容涵盖从物理网络配置、MobaXterm安装与SSH会话创建,到文件传输、X11转发等高级功能,并包含常见问题排查与安全加固建议,帮助开发者快速建立稳定可靠的远程开发连接。

purple的博客 878

基于SpringBoot+Vue的毕业设计选题系统:从零搭建到部署实战

在高校信息化管理和计算机专业实践教学中,Web应用开发是核心技能之一。其原理在于通过前后端分离架构,实现业务逻辑与用户界面的解耦,从而提升开发效率和系统可维护性。SpringBoot作为Java领域主流的后端框架,以其自动配置和快速启动的特性,极大地简化了企业级应用的搭建;Vue.js则以其响应式和组件化的优势,成为构建现代前端界面的热门选择。两者的结合,为开发功能完整的管理系统提供了成熟的技术方案,具有极高的技术价值和广泛的适用性。毕业设计选题是高校教学管理中的高频场景,传统线下模式存在流程繁琐、信息不透

weixin_33985507的博客 368

基于STM32的最简易蓝牙遥控小车

基于STM32的蓝牙遥控小车,基于HAL库编写代码,具有移动功能,读者可自行添加其他扩展功能。按下状态的对应关系:2前进,4左转,5停止,6右转,8后退,松开状态都是5,都选择16进制。首先按照小车的图纸把小车的机械部分装好。做这个小车的成本在200元左右,包括焊接设备,杜邦线等。

weixin_43469377的博客 1万+

413 Request Entity Too Large

413 Request Entity Too Large 文件大小修改

码农之路,向死而生 3967

3D医学影像分割实战:从数据预处理到模型训练全流程解析

本文详细解析了3D医学影像分割的全流程,从数据预处理到模型训练,重点介绍了nnUNet框架的应用技巧。通过实战案例,帮助开发者掌握如何处理复杂的.nii.gz文件格式、优化数据预处理流程以及高效训练3D分割模型,特别适合医学影像分析领域的从业者参考。

weixin_29098367的博客 222

VS2015与QT界面开发中解决‘ui_xxx.h‘文件类名不一致导致的编译错误

本文详细解析了在VS2015与QT界面开发中,因.ui文件顶层部件objectName与生成类名不一致导致'ui_xxx.h'文件出现'不完整的类型'编译错误的根本原因。通过分步排查,指导开发者统一Qt设计师对象名、自动生成文件类名及代码引用名,并提供强制重新编译UI文件、清理中间文件等解决方案,有效解决此类常见编译问题。

weixin_29009339的博客 248

JavaWeb知识点

1.Maven中的仓库用来存储什么的?Maven的仓库是用来存储和管理jar包的2.Maven中有哪几类仓库?查找依赖(jar)的顺序是什么样的?本地仓库(1)远程仓库(2)中央仓库(3)

ql200106的博客 303

ROS Noetic下Gazebo仿真:从零搭建两轮差速机器人(含ros_control配置避坑指南)

本文详细介绍了在ROS Noetic环境下,使用Gazebo从零搭建两轮差速机器人并进行仿真的完整流程。核心内容包括利用Xacro进行模块化建模,并重点解析了通过ros_control框架配置机器人运动控制的详细步骤与常见避坑指南,帮助开发者成功实现机器人在仿真环境中的差速驱动与运动控制。

game4的博客 620

SpringBoot全局异常处理

在SpringMVC中可以使用ControllerAdvice来做controller内部的全局异常处理,但对于未进入controller前的异常,该处理方法是无法进行捕获处理的,SpringBoot提供了ErrorController的处理类来处理所有的异常。   1 import java.util.Map; 2 3 import javax.servlet.http.Http...

weixin_34115824的博客 120

手把手教你学Simulink——基于Simulink的PR(比例谐振)控制器在单相整流中的应用

本文详细介绍了基于Simulink的PR(比例谐振)控制器在单相整流系统中的应用。通过与传统PI控制器的对比,阐述了PR控制器在交流信号跟踪中的优势:可实现50Hz正弦电流的无静差跟踪,THD低于2%,功率因数接近1。文章从PR控制器原理出发,提供了Simulink建模的具体步骤,包括主电路搭建、电压外环设计、PR控制器实现方法(推荐MATLAB Function方式)以及SPWM调制。通过仿真验证了PR控制在稳态和负载突变情况下的优越性能,并探讨了工程实践中的电网频率自适应、多谐振PR等关键技术。该教程为

MHD0815的博客 123

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Feign 高级 JSON 解析与分页实战:基于 Wikipedia 示例的完整解读

本文以 OpenFeign 仓库中的 [example-wikipedia](https://link.gitcode.com/i/ec5164c5ebb4e6ea14b9df2bcbbdce36) 示例为线索,深入讲解如何利用 Feign 的 `Decoder` 扩展机制(Gson 自定义 `TypeAdapter`)解析非标准嵌套 JSON 结构,并通过惰性迭代器实现无限滚动分页。读完本文,你

gitblog_00553的博客 218

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SpringBoot+Vue高校体育竞赛管理平台:从报名到成绩全链路设计与实践

在数字化校园建设背景下,体育竞赛和运动会的信息化管理需求日益凸显,传统Excel和微信群的协作方式已难以应对多角色、多环节的复杂流程。基于前后端分离架构,后端采用SpringBoot结合MyBatis-Plus和MySQL构建RESTful API,前端使用Vue3、Element Plus及ECharts实现交互界面与数据可视化,并通过JWT实现角色鉴权,是Java全栈开发中典型的实战项目。这类系统涵盖用户权限、赛事发布、在线报名、赛程编排、成绩录入与统计看板等完整闭环,既锻炼数据库设计与接口开发能力,也

weixin_31102231的博客 301

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

面试问题总结

文章目录1.abstract和interface异同2.构造方法3.final关键字作用4.重写和重载的区别4.1重载4.2重写5.this关键字6.封装的作用,实现封装的步骤7.封装中的getter和setter方法分别作用7.1setter方法7.2getter方法8.Mybatis-plus与Spring Data JPA9.装箱和拆箱9.1装箱9.2拆箱10.ArrayList底层原理11.反射12.Filter13.$与#的区别14.js中的DOM对象与jQuery中的DOM区别15.四大元注解1

肥猫不是猫 1111

工作中使用到的单词(软件开发)_第三版

====

sun0322 1万+

Spring Boot 相关知识和工具类

本文主要讲解http的五种与后端交互方法,queryString 格式与 urlencoded 格式区别,登录认证,拦截器,Spring Validation依赖(参数校验),一些常用工具类,分页查询

qq_56109699的博客 796
上一篇: 【业务功能篇53】Springboot 数据封装对象
下一篇: 【业务功能篇55】Springboot+easyPOI 导入导出
studyday1
博客等级 码龄9年 6454粉丝 255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值