一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Java

fastjson包JSONObject.toJSON导致部分属性丢失问题

JSONObject.toJSONString(Object object, SerializerFeature… features) Fastjson的SerializerFeature序列化属性 QuoteFieldNames———-输出key时是否使用双引号,默认为true WriteMapNullValue——–是否输出值为null的字段,默认为false WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非nul

from:http://www.voidcn.com/article/p-ebkhpvlq-bqh.html

龙生   11 Nov 2020
View Details

Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)

RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。

我之前的HTTP开发是用apache的HttpClient开发,代码复杂,还得操心资源回收等。代码很复杂,冗余代码多,稍微截个图,这是我封装好的一个post请求工具:

本教程将带领大家实现Spring生态内RestTemplate的Get请求和Post请求还有exchange指定请求类型的实践和RestTemplate核心方法源码的分析,看完你就会用优雅的方式来发HTTP请求。

龙生   10 Nov 2020
View Details

java发送http的get、post请求

Http请求类

  调用方法:

  from:https://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html

龙生   10 Nov 2020
View Details

Springboot获取配置文件属性的方法

pom配置 html内容 1 通过注解 1.1 在properties文件下配置属性 1.2 利用@Value注解将对应的属性注入到field上 1.3 请求结果如下 2 通过PropertiesLoaderUtils 利用org.springframework.core.io.support包下的PropertiesLoaderUtils读取配置文件从而获得对应的配置信息 PropertiesLoaderUtils.loadProperties(new EncodedResource(new ClassPathResource(location), "UTF-8")); 将对应配置文件的信息填入location即可 2.1 在properties文件下配置属性 2.2 创建工具类 2.3 读取配置信息 2.4 请求结果如下 3 通过@PropertySource将属性映射给类的属性 3.1 配置属性 3.2 属性映射     3.3 请求结果 4 利用Environment (org.springframework.core.env.Environment) 4.1 配置属性 4.2 引入Environment 4.3 请求结果 from:https://www.cnblogs.com/zad27/p/10483484.html

龙生   10 Nov 2020
View Details

java实现HTTP请求的三种方式

目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是很多,HttpClient4.5是org.apache.http.client下操作远程 url的工具包,最新的;另一种则是通过HttpURLConnection去实现,HttpURLConnection是JAVA的标准类,是JAVA比较原生的一种实现方式。 自己在工作中三种方式都用到过,总结一下分享给大家,也方便自己以后使用,话不多说上代码。 第一种方式:java原生HttpURLConnection

  第二种方式:apache HttpClient3.1

  第三种方式:apache  httpClient4.5

有时候我们在使用post请求时,可能传入的参数是json或者其他格式,此时我们则需要更改请求头及参数的设置信息,以httpClient4.5为例,更改下面两列配置:httpPost.setEntity(new StringEntity("你的json串"));      httpPost.addHeader("Content-Type", "application/json")。   from:https://www.cnblogs.com/hhhshct/p/8523697.html

龙生   09 Nov 2020
View Details

Springboot HTTP Get/Post 请求讲解,Springboot几行代码完成Http请求

本文来自:https://www.sojson.com/blog/350.html 以前我们创建一个Http请求,很复杂,要写很多代码,而且请求还有各种兼容问题。而用 RestTemplate 的话优雅的几行代码就可以解决,并且是可以直接返回对象。 RestTemplate 是  Spring  用于同步请求client端的核心类,简化了与  HTTP   的通信,并满足RestFul原则,RestTemplate默认依赖  JDK  的HTTP连接工具。当然你也可以 通过setRequestFactory属性切换到不同的HTTP 数据源,比如Apache HttpComponents、Netty和OkHttp,都是支持的。 HTTP Get 请求 我们先做一个普通的Http请求,直接上源码。

  这是一个最简单的Http请求,把返回值使用   Gson   来转换成对象。 使用RestTemplate HTTP Get 请求

  上面其实是一个简单的带参数请求,用“{1}”、“{2}”、“{3}”… 方式传参,如果是地址拼接的方式,可以N个。 上一篇博客采用这个方式,模拟的Http请求,请求天气接口数据:https://www.sojson.com/blog/349.html 。 2.RestTemplate 多个参数请求 因为是Get请求,其实就是问号的方式带参数请求

  3.RestTemplate getForEntity 请求 其实上面的1和2算是简单的请求,就是直接返回了Object 实例对象。而我们要获取详细的详细,如返回status、Header信息等。那就得用 getForEntity 。 看看源码里的参数描述,其实是和 getForObject 一致,我这里网络不行没下载下来源码包,凑合看看。

  HTTP 实例讲解:

  具体可以自行测试下。 我们看源码知道还有 Post请求 方法。

  方法传参是和上面讲解的 Get请求 的使用方式一模一样。 有兴趣的可以测试下我们的在线 HTTP模拟请求 工具 ,就是采用 restTemplate 实现的。 HTTP在线模拟请求   from:https://cloud.tencent.com/developer/article/1554561

龙生   09 Nov 2020
View Details

SpringBoot使用token简单鉴权

1.用户登录请求登录接口时,验证用户名密码等,验证成功会返回给前端一个token,这个token就是之后鉴权的唯一凭证。
2.后台可能将token存储在redis或者数据库中。
3.之后前端的请求,需要在header中携带token,后端取出token去redis或者数据库中进行验证,如果验证通过则放行,如果不通过则拒绝操作。

龙生   09 Nov 2020
View Details

Gradle 换阿里仓库

改单个项目 在项目的build.gradle文件中,修改repositories配置,将mavenCentral()改为 maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}, 如:

  更改所有项目 如果想一次更改所有的仓库地址,可以在 USER_HOME/.gradle/文件夹下添加 init.gradle 文件来配置,如:

  作者:xiaolyuh 链接:https://www.jianshu.com/p/471227b2b7e8 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

龙生   21 Oct 2020
View Details

解决访问swaggerUI接口文档显示basic-error-controler问题

问题描述 使用swagger生成接口文档后,访问http://localhost:8888/swagger-ui.html#/,显示如下: 有些强迫症的我,感觉看起来很不舒服,结果百度了好久,找到解决方案,刚接触spring boot对于很多api还不是很熟悉,先mark再说 代码如下:

    重启服务:再次访问如下   from:https://www.cnblogs.com/longronglang/p/9045559.html

龙生   19 Oct 2020
View Details

Spring Boot:整合Swagger文档

综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。 假如你已经对传统的wiki文档共享方式所带来的弊端深恶痛绝,那么尝试一下Swagger2 方式,一定会让你有不一样的开发体验。 使用 Swagger 集成文档具有以下几个优势: 功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能; 及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档,省心省力; 整合简单 :通过添加pom依赖和简单配置,内嵌于应用中就可同时发布API接口文档界面,不需要部署独立服务。 实现案例 接下来,我们就通过Spring Boot 来整合Swagger实现在线API文档的功能。 生成项目模板 为方便我们初始化项目,Spring Boot给我们提供一个项目模板生成网站。 1.  打开浏览器,访问:https://start.spring.io/ 2.  根据页面提示,选择构建工具,开发语言,项目信息等。 3.  点击 Generate the project,生成项目模板,生成之后会将压缩包下载到本地。 4.  使用IDE导入项目,我这里使用Eclipse,通过导入Maven项目的方式导入。   添加相关依赖 添加 Maven 相关依赖,这里需要添加上WEB和SWAGGER依赖。 WEB依赖

swagger依赖,这里选择 2.9.2 版本。

 添加配置类 添加一个swagger 配置类,在工程下新建 config 包并添加一个 SwaggerConfig 配置类。 SwaggerConfig.java

 添加控制器 添加一个控制器,在工程下新建 controller包并添加一个 HelloController控制器。 HelloController.java

编译运行测试 1.  右键项目 -> Run as -> Maven install,开始执行Maven构建,第一次会下载Maven依赖,可能需要点时间,如果出现如下信息,就说明项目编译打包成功了。 2.  右键文件 DemoApplication.java -> Run as -> Java Application,开始启动应用,当出现如下信息的时候,就说明应用启动成功了,默认启动端口是8080。 3.  打开浏览器,访问:http://localhost:8080/swagger-ui.html,进入swagger接口文档界面。 4.  展开hello-controller的hello接口,输入参数并点击执行,就可以看到接口测试结果了。   常用注解说明 swagger 通过注解接口生成文档,包括接口名,请求方法,参数,返回信息等。 @Api: 修饰整个类,用于controller类上 @ApiOperation: 描述一个接口,用户controller方法上 @ApiParam: 单个参数描述 @ApiModel: […]

龙生   19 Oct 2020
View Details
1 39 40 41 66