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

长沙企业网站建立ui设计是做啥的

长沙企业网站建立,ui设计是做啥的,公司部门主页设计方案,专业网站建设设计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/678337/

相关文章:

  • 三角镇建网站公司python做网站快么
  • 买域名做网站wordpress 不显示图片
  • 郑州人才网站学网页设计制作
  • 建设网站域名备案青岛代理记账
  • 合肥建设信息网站中国最好的营销策划公司
  • 温州做网站 掌熊号营销策略论文
  • 广网站建设网站开发公司会计处理
  • 网页播放的视频如何下载沈阳网站优化怎么做
  • 网站建设优化多少钱淘宝店铺怎么引流推广
  • 移动手机网站建设静态网站模板中英文
  • nas 做网站服务器wordpress版本信息在哪里查看
  • vue做网站2018网站内容和备案
  • 网站内容与功能设计与实现的自己做的网站怎么实现结算功能
  • 建设网站文案购物网站前台功能模块分析
  • 旅游网站设计的目的与意义杭州seo联盟
  • 网站开发产品设计公司莱特币做空网站
  • wdcp网站建设中华艺术宫室内设计
  • 网站开发游戏程序开发网站ipv6改造怎么做 网页代码
  • 百度站长平台网站验证成都网站公司网站建设
  • 网站接入商查询贵阳网站开发公司
  • 广州外贸网站建站手把手网站开发
  • 虚拟网站建设步骤木方东莞网站建设技术支持
  • google官网下载安装企业网站seo贵不贵
  • 本科自考哪个专业比较好考咸宁抖音seo收费标准
  • 旅行网站开发需求说明书定制手机网站建设
  • 网站制作背景图片海南网站建设多少钱
  • 网站设计的工作要求邯郸专业做网站地方
  • 南昌seo排名方案seo网上课程
  • 怎么弄自己的网站wordpress 购物网站
  • 哪里有好的免费的网站建设中文网站建设公司排名