当前位置: 首页 > news >正文

响应式企业网站哪个网站教做饭做的好

响应式企业网站,哪个网站教做饭做的好,山东省建筑施工企业安全生产管理,网络服务商主要包括哪些GraphQL vs RESTful 简单来说GraphQL 比起 RESTful 集成额外一些功能 出入参校验、序列化 (简化后端编程)自由可选的返回数据字段 (简化一些多余接口开发和沟通联调成本) 这些都是优点了。 开发效率在项目初期是很重要的,需要快速原型化。 但是后期稳定后&#…

GraphQL vs RESTful

简单来说GraphQL 比起 RESTful 集成额外一些功能

  1. 出入参校验、序列化 (简化后端编程)
  2. 自由可选的返回数据字段 (简化一些多余接口开发和沟通联调成本)

这些都是优点了。

开发效率在项目初期是很重要的,需要快速原型化。
但是后期稳定后,性能也很重要。

对比

RESTful + Pydantic

from sanic import Sanic, text
from pydantic import BaseModel
from typing import Listapp = Sanic("simple")class Simple(BaseModel):name: strage: inthobbies: List[str]@app.post("/rest")
async def rest_test(request):Simple.model_validate(request.json)return text("ok")

k6测试代码

import { check } from 'k6';
import http from 'k6/http';export default function () {let data = { "name": "Stephen Ling", "age": 28, "hobbies": ["coding", "coffee"] }const res = http.post('http://localhost:9090/rest', JSON.stringify(data), {headers: { 'Content-Type': 'application/json' },});check(res, {'is status 200': (r) => r.status === 200,});
}

在这里插入图片描述

GraphQL(strawberry)

k6测试代码

import { check } from 'k6';
import http from 'k6/http';export default function () {let data = {"query": "mutation {\n  resolveGraphql(name: \"Stephen Ling\", age: 28, hobbies: [\"coding\", \"coffee\"])\n}"}const res = http.post('http://localhost:9090/graphql', JSON.stringify(data), {headers: { 'Content-Type': 'application/json' },});check(res, {'is status 200': (r) => r.status === 200,});
}

默认情况

import strawberry
from strawberry.sanic.views import GraphQLView
from sanic import Sanic, textfrom pydantic import BaseModel
from typing import Listapp = Sanic("simple")@strawberry.type
class Mutation:@strawberry.mutationasync def resolve_graphql(self, name: str, age: int, hobbies: List[str]) -> str:return "ok"@strawberry.type
class Query:@strawberry.fieldasync def nothing(self) -> None:...app.add_route(GraphQLView.as_view(schema=strawberry.Schema(query=Query,mutation=Mutation,),),"/graphql",
)

在这里插入图片描述

加上缓存

...
from strawberry.extensions import ParserCache, ValidationCache...
app.add_route(GraphQLView.as_view(schema=strawberry.Schema(query=Query,mutation=Mutation,extensions=[ParserCache(), ValidationCache()],),),"/graphql",
)

在这里插入图片描述

体会

  1. graphql 适合减轻前后端联调的沟通成本。谁错谁对一目了然。
  2. 选择实现库之前,衡量一下性能代价是否能接受。
  3. 实现库之间尽可能横向对比一下。
  4. 在可以忍受的性能差距下,我会选择开发效率,毕竟每个代码的生命周期是有限的,没有必要死磕。
http://www.yayakq.cn/news/282412/

相关文章:

  • 蓬莱住房和规划建设管理局网站公司网站备案后在百度上多长时间可以搜索到
  • 网站改版会影响排名吗厦门免费自助建站模板
  • 建设门户网站的基本意义有哪些网站流量15g
  • 长沙市房产交易中心官网佛山网站推广优化
  • 自助建站网站程序源码深圳城乡和住房建设局网站
  • 长沙网站设计公司怎么样公司网站建设亚运村
  • 苏州晶体公司网站建设网站关键词被百度屏蔽怎么办
  • app开发科技网站建设没有货源如何做电商
  • 集团做网站优势盐城网站建设推广优化
  • 南庄顺德网站建设360下载
  • 做网站的周记怎么更改网站备案信息吗
  • 取名网站排名宿州市住房 建设 官方网站
  • 网站推广软件排名家装设计师网站
  • 网站在线布局个人建设纪检网站
  • node.js可以做网站深圳广告公司名录
  • 信息管理网站开发实验报告凡科网站内容怎么做效果好
  • 厦门h5网站建设南京做网站的网络公司
  • 河南省建设厅网网站wordpress xml rpc
  • 怎么在土巴兔做网站厦门市工程建设项目网上办事大厅
  • 营业执照包含网站开发营销是什么意思
  • 深圳公司做网站怎样建网站邢台
  • wordpress公司网站模板做直播信号网站
  • 网站开发前端php 后端python做视频网站设备需求
  • 人跟狗做网站高端大气的广告公司名字
  • 开发手机端网站模板下载不了网站建设需要多少个人
  • 给个人建网站的公司网络推广外包注意哪些
  • 建立应用网站滴滴出行网站建设
  • 汕头网站设计公司app网站开发书籍下载
  • 一级做A网站展馆设计流程
  • 常用的软件开发文档莱芜网站优化招聘网