javascript定义restful那种占位符url
文章摘抄
https://segmentfault.com/q/1010000009600515
工作中需要使用restful接口风格,为了方便大家开发,需要封装一个ajax请求,那么使用者最方便的方式就是像angular那样格式化url,即:
$resource('http://localhost:8080/web/user/:id/oper/:active',{id: '111',active: 'y'})
因此,我在网上找了相关方法,实现上述API方法
String.prototype.restfulFormat = function (param) { var that = this; if (param === undefined || param === null || param === {}) { return this; } let keys = Object.keys(param); for (let key of keys) { that = that.replace(new RegExp("\\{" + key + "\\}", "g"), param[key]); } return that; }; var url = "http://localhost:8080/yunpan/{username}/aaa/{name}"; console.log( url.restfulFormat( {username: '111', name: 'yc'}));
/** * 扩展了 String 类型,给其添加格式化的功能,替换字符串中 {placeholder} 或者 {0}, {1} 等模式部分为参数中传入的字符串 * 使用方法: * 'I can speak {language} since I was {age}'.restfulFormat({language: 'Javascript', age: 10}) * 'I can speak {0} since I was {1}'.restfulFormat('Javascript', 10) * 输出都为: * I can speak Javascript since I was 10 * * @param replacements 用来替换 placeholder 的 JSON 对象或者数组 */ String.prototype.restfulFormat = function(replacements) { var formatString = function (str, replacements) { replacements = (typeof replacements === 'object') ? replacements : Array.prototype.slice.call(arguments, 1); return str.replace(/\{\{|\}\}|\{(\w+)\}/g, function(m, n) { if (m == '{{') { return '{'; } if (m == '}}') { return '}'; } return replacements[n]; }); }; replacements = (typeof replacements === 'object') ? replacements : Array.prototype.slice.call(arguments, 0); return formatString(this, replacements); }
相关推荐
Eiceblue 2020-08-02
ahnjwj 2020-07-28
playis 2020-06-28
playis 2020-06-16
ahnjwj 2020-06-12
84560296 2020-06-10
84560296 2020-06-09
84560296 2020-06-08
84560296 2020-05-30
81901836 2020-05-26
beibeijia 2020-05-16
85291545 2020-05-01
84560296 2020-04-10
fanix 2020-04-09
bapinggaitianli 2020-04-07
84560296 2020-03-27
85291545 2020-03-26
82911731 2020-03-25