Java开发记录1

        随着实际工作中接触到的后端接口开发,对于Java语言开发过程中的一些问题进行记录。

        Q1、如何保证vo输出结构为大写字段?

        A:使用JSONField标识

@JSONField(name = "BDCDYH")
private String BDCDYH;
@JSONField(name = "QLLX")
private String QLLX;

        Q2、如何对vo输出的时间字段进行对应格式转换?

        A、使用format进行转换

@JSONField(name = "DJSJ", format = "yyyy-MM-dd")
private Date DJSJ;

        Q3、对于有些在代码逻辑处理中用到的字段,但最后结果不展示的字段,如何处理?

        A、标识该字段不进行序列化即可,即加入 serialize = false

@JSONField(name = "DJYWH", serialize = false)
private String DJYWH;

        Q4、对于JSONObject对象,如果想保留完整的结构输出,特别是平时在查询数据库时,有些字段值为null,但又希望接口能完整输出所有字段结果,该如何做?

        A、如下,在相关转换时,加入SerializerFeature.WriteMapNullValue标识

JSONObject resultJson = {"res": [{"a":"aa", "b":"bb", "c": null}]}
// 不会过滤掉值为null的键
JSONObject.parse(JSONObject.toJSONString(resultJson, SerializerFeature.WriteMapNullValue));
// 会过滤掉值为null的键
JSONObject.parse(resultJson.toJSONString());

        Q5、如果需要在后端进行gis服务地址请求,如何做?

        A、使用如下代码在后端进行请求。网上也有很多人使用HttpURLConnection的相关方法去做,但是发现HttpURLConnection稳定性没有如下方式好,有可能在某些场景下无法很好的完成请求。比如笔者曾经使用HttpURLConnection对arcgis 10.8的服务进行请求就总是出错。

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet(url);
HttpResponse response = httpClient.execute(request);
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode == 200){
	str = EntityUtils.toString(response.getEntity());
	httpClient.close();
} else {
	throw new Exception("arcgis服务查询应答异常: " + response);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值