GraphQL查询规范

什么是GraphQL

GraphQL是Facebook开发的一套查询语言,和Restful查询规范一样,都是一种对前后端数据交互的一种规范,并不是SQL这种的查询语言。

GraphQL和Restful区别

  • Restful:主流的前后端交互规范,并且开发的过程中,简洁明了,可以很方面的理解接口的含义,不会带来额外的开发的复杂度,但是接口的返回的数据是固定的,如果前端只需要部分数据,那么接口返回的还是全部的数据,会带来额外的资源浪费
  • GraphQL:主要是解决了Restful规范中问题,接口返回的数据不可控制,GraphQL的理念是让前端控制接口数据的字段的返回,让接口的灵活性增加,并且接口数据的增加和改变,不用带来接口的升级,维护多套接口,但是相对于Restful来讲,较为复杂

GraphQL查询规范

GraphQL定义了一套查询规范,可以让前端来控制需要查询的数据,灵活的控制查询的属性对象,仅仅是一种规范

常用的查询规范:

字段(Fileds)

在GraphQL的查询中,请求结构体中包含了锁预期结果的结构,这个就是字段。响应的数据的结构体保持和请求的结构体一致

  • 语法

    语法看起来和JSON有些类似,不过是自定义的查询的语言,可以自定义查询的对象或者字段

    {
         
    	hero {
         
    		name
        	id
    	}
    }
    
    // response
    {
         
        "data": {
         
            "hero": {
         
                "name": "xx",
            	"id": 1
            }
        }
    }
    
    • hero表示定义查询的对象,所以hero中的字段需要定义到hero的对象中

你可能感兴趣的:(java,GraphQL)