Spring MVC获取参数、传递外围系统参数处理、参数返回等

1. 获取url映射中的多个参数

@RequestMapping("{goodsId}/{goodsNumber}")
public void test1(@PathVariable("goodsId")int goodsId,@PathVariable("goodsNumber")int goodsNumber ){
	//......
}

  不要一个用@PathVariable,另一个用@RequestParam,因为

语法:@RequestParam(value="参数名",required=true/false,defaultValue="")
 
value:参数名
 
required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
 
defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值

2. 数据库类型中日期date、datetime,springmvc如何接受?

默认可以识别的是datetime(2021-08-31 15:01:08),即@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)

要想识别date(2021-08-31),在相关的实体类(entity)字段上加注解 @DateTimeFormat(pattern=“yyyy-MM-dd”)

3. 传递外围系统参数

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;

外围系统接收参数为 EXTERNAL_ORDER_ID ,实体类中存放 externalOrderId,只需要如下操作:

    public static class ShippingorderEditDTO{
		//....
        @JsonProperty("EXTERNAL_ORDER_ID")
        private String externalOrderId;
		//.....
    }
requestPayloadDTO.setPayload(JsonUtil.toString(deliveryOrder));

4. 注解为中文的实体类,英文参数返回

假设外围系统返回参数为中文,如下:
在这里插入图片描述
实体类如下:
在这里插入图片描述
在参数返回时,会自动转化为中文,如果想要英文,可做如下处理

import com.alibaba.fastjson.JSON;

return Results.success(JSON.toJSON(inventoryQueriedList));

5、解析外围系统响应的数据

HashMap<String, Object> response = objectMapper.readValue(invoke.getPayload(), HashMap.class);
Boolean flag = (Boolean) response.get("flag");
if (!flag) {
    throw new CommonException(response.get("msg").toString());
}

Map<String, String> tokenMap = JsonUtil.toObject(tokenBody, Map.class);
return tokenMap.get("token");

//json转换集合
JSONObject jsonObject = JSON.parseObject(responsePayloadDTO.getPayload());
JSONArray payload = jsonObject.getJSONArray("Data");
List<NcResponseDTO> ncDataList = payload.toJavaList(NcResponseDTO.class);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值