POST提交数据方式

来源:互联网 发布:ms sql server 2000 编辑:程序博客网 时间:2024/05/22 19:30

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中POST一般用来向服务端提交数据,POST 提交数据方式又分为application/x-www-form-urlencoded、application/json、multipart/form-data、text/xml四种常见方式。
application/x-www-form-urlencoded是最常见的POST提交数据方式,我们把提交数据以key、value的方式放在Body中,服务提供方通过@RequestParam根据key值获取value值,如下:

@ApiOperation(value = "根据房间号返回同款机器房间", tags = "10.Room", notes = "根据房间号返回同款机器房间", response = RoomDTO.class)    @RequestMapping(value = "/same/list", method = RequestMethod.GET)    public Object findSameById(            @RequestParam(value = "roomId", required = true) @ApiParam(value = "房间id", required = true) long roomId) {        List<RoomDTO> list = roomService.findSameById(roomId);        return Collections.singletonMap("rooms", list);    }

application/json提交方式则不需要key值,我们把提交数据组装成json放在body中,服务提供方通过@RequestBody获取value值,如下:

@ApiOperation(value = "websocket开始游戏", tags = "10.Room", notes = "websocket开始游戏", response = Long.class)    @RequestMapping(value = "/websocket/play", method = RequestMethod.POST)    public Object play(@RequestBody String json) {        long historyId = roomService.play(json);        return Collections.singletonMap("historyId", historyId);    }

multipart/form-data方式一般用于表单上传文件。
text/xml方式是一种比较古老的提交方式,把数据组装为xml格式提交。
由于xml 结构还是过于臃肿,一般场景用 json 会更灵活方便。