简单、快速、无需注册的在线 MockJs 工具

简单、快速、无需注册的 MockJs 工具。通过参数来返回数据,传入什么参数就返回什么数据。

使用

接口只支持返回文本类数据,不支持图片、流数据等。

json

调用接口 https://mock.starxg.com/?responseBody={“say”:“hello”}&contentType=application/json

{"say": "hello"
}

xml

调用接口 https://mock.starxg.com/?responseBody=xml…&contentType=application/xml;charset=utf8


<message><warning>Hello Worldwarning>
message>

svg

调用接口 https://mock.starxg.com/?responseBody=svg…&contentType=image/svg+xml

响应:

text

调用接口 https://mock.starxg.com/?responseBody…&contentType=text/plain;charset=utf8

君不见,黄河之水天上来,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪。人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯。岑夫子,丹丘生,将进酒,杯莫停。与君歌一曲,请君为我倾耳听。钟鼓馔玉不足贵,但愿长醉不愿醒。古来圣贤皆寂寞,惟有饮者留其名。陈王昔时宴平乐,斗酒十千恣欢谑。主人何为言少钱,径须沽取对君酌。五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。

参数

整个接口构造非常简单

http[s]://mock.starxg.com/[path]?responseBody=[responseBody]&contentType=[contentType]

  • path: 任意。例如:/user/add/user/get ,也可以为空
  • responseBody: 响应体,任意字符。为了避免部分字符转义问题,建议使用 encodeURIComponent 转换一下
  • contentType: 媒体类型,默认: text/plain

GET

通常,浏览器会对 GET 请求的参数大小做限制,每个浏览器限制不同。当参数过长时,请使用 POST 请求。

  • IE:URL的最大限制为2083个字符,若超出这个数字,提交按钮没有任何反应。
  • Firefox:URL的长度限制为 65536 个字符。
  • Safari:URL最大长度限制为 80000 个字符。
  • Opera:URL最大长度限制为 190000 个字符。
  • Chrome:URL最大长度限制为 8182 个字符。
  • Apache(Server):URL最大长度限制为 8192个 字符。
  • Microsoft Internet Information Server(IIS):URL最大长度限制为 16384 个字符。

POST

当使用 POST 请求时,请求类型须为 form-dataapplication/x-www-form-urlencodedresponseBodycontentType 无需使用 encodeURIComponent 转码。

Postman 使用如下:

源代码

const defaultResponseBody = `responseBody: hello world
contentType: text/plain
`const cors = {'Access-Control-Allow-Origin': '*','Access-Control-Allow-Headers': '*'
}export default {async fetch(request, env, ctx) {if (request.method === 'OPTIONS') {return new Response('', {headers: {...cors}});}const params = new URL(request.url).searchParamslet responseBody = decodeURIComponent(params.get('responseBody') || '')let contentType = params.get('contentType') || ''if (request.method !== 'GET' && (contentType === ''|| responseBody === '')) {const ct = request.headers.get("content-type");if (ct.includes("form")) {const formData = await request.formData();const body = {};for (const entry of formData.entries()) {body[entry[0]] = entry[1];}if (contentType === '') {contentType = body['contentType']}if (responseBody === '') {responseBody = body['responseBody']}}}contentType = contentType || 'text/plain'responseBody = responseBody || defaultResponseBodyreturn new Response(responseBody, {headers: {'content-type': contentType,'Access-Control-Allow-Origin': '*','Access-Control-Allow-Headers': '*'}});},
};

自有部署

注册 Cloudflare 账号,然后创建一个 Worker,将上面代码复制进去即可。

更多

  1. https://blog.starxg.com/2023/08/mock/


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部