系统需要接收不同客户端发送的数据,但是不同客户端使用不同的协议、数据格式等,系统怎么接收数据并保存
如果是http协议,一般在header中的content-type中能表明body的类型。
如果是socket通讯,没这些头信息,那就可以判断报文的起始字符,xml是<开头的,json是{开头的。
不同客户端是自己公司的还是其他公司的,不同的协议与数据格式是没有关联的,不管你是http协议,还是TCP、socket等协议,都可以规定数据格式,要求全部都是xml格式的,或者都是json格式的,或者都是文本格式的。因为统一的话,好处理。这就是咱们java有一个Interface的同理的作用,就是规定好。
如果非要几种数据格式都有,那就每种数据格式都封装一个方法,你要json 的,就调用A方法,xml的就调用B方法。这样如果日后有调整,影响的只是这一种数据格式的
建议看看@Controller(consumer 这个参数 对应的枚举 MimeType)
列如:
@PostMapping(value = "/appinfos", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
当然可以自己去扩展
HttpMessageConverter