发表于: 2017-12-04 23:33:24

1 845


今天完成的事情:更改了传参方式 

@PathVariable 用来绑定url   /a/sms/{mobile}   @PathVariable String mobile

@RequestHeader   @RequestHeader(“mobile”) String mobile

@CookieValue 可以把Request header中关于cookie的值绑定到方法的参数上。

@RequestParam, @RequestBody   @RequestBody String mobile

用postman传参  body里面

 第一种方式 form-data 
即multipart/form-data,它将表单的数据组织成Key-Value形式,用分隔符boundary(boundary可任意设置)处理成一条消息。

第二种方式-www-form-urlencoded 

即application/x-www-from-urlencoded,将表单内的数据转换为Key-Value。

第三种 raw    可以上传任意格式的【文本】,可以上传text、json、xml、html等

这里我们用json  写成这样{"mobile":"17666109423"}

第四种 binary  即Content-Type:application/octet-stream,只可以上传二进制数据,通常用来上传文件。由于没有键值,所以一次只能上传一个文件。

multipart/form-data与x-www-form-urlencoded区别:

  html中的form 表单有两种:application/x-www-form-urlencoded和multipart/form-data。application/x-www-form-urlencoded是默认的MIME内容编码类型,它在传输比较大的二进制或者文本数据时效率极低。

MIME:  简单说,MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,服务器将 MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。

multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息。当设置multipart/form-data,http会忽略 contentType 属性。x-www-form-urlencoded:只能上传键值对,不能用于文件上传。不同的field是用&区分开的。


由于有boundary隔离,所以既可以上传文件,也可以上传参数。明天计划的事情:阿里云接口先放一放  继续写接口
遇到的问题:阿里云短信测试类没问题  实际调用就报错 SDK.InvalidRegionId : Can not find endpoint to access.

postman中文乱码 很奇怪 改了无数配置 莫名奇妙的就好了 迷
收获:http://blog.csdn.net/he90227/article/details/52798082

用Response重新设置ContentType,response.setContentType("text/html;charset=UTF-8")

在web.xml中也要配置相关的EncodingFilter以用来使编码变为UTF-8,配置如下:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

idea 默认的properties文件是GBK,当有中文时,不同的客户端配置的编码不同时,可能产生中文乱码。

修改如下File -> Settings -> File Encodings -> Default encoding for properties file -> UTF-8

idea编码设置   全局编码设置  File -> Other Settings -> Default Settings  Editor -> File Encodings

工程编码设置   File -> Settings  Editor -> File Encodings

文件编码设置  右下角 

 禅道连接  http://task.ptteng.com/zentao/project-task-405.html



返回列表 返回列表
评论

    分享到