GraphQL 打造自己的Directive庫

2022-09-19 23:03:11 字數 2062 閱讀 8501

graphql 既是一種用於 api 的查詢語言也是乙個滿足你資料查詢的執行時。graphql 對你的 api 中的資料提供了一套易於理解的完整描述,使得客戶端能夠準確地獲得它需要的資料,而且沒有任何冗餘,也讓 api 更容易地隨著時間推移而演進,還能用於構建強大的開發者工具。

——出自

hotchocolate可以通過自定義directive來對字段的值進行轉換和處理,下在的例子就是給字串給字串型別的值轉大寫和替換。

using

hotchocolate;

using

hotchocolate.data;

using

hotchocolate.execution;

using

hotchocolate.types;

using

system;

using

system.collections.generic;

using

system.reflection;

namespace

graphqlbase003

}public

class

directivedemo

}").tojson());

console.writeline(

"--------------a替換成1 -------------------");

console.writeline(executor.execute(" }

").tojson());

console.writeline(

"--------------然後全部轉大寫-.a替換成1 -------------------");

console.writeline(executor.execute(" }

").tojson());

console.writeline(

"--------------a替換成1.然後全部轉大寫-------------------");

console.writeline(executor.execute(" }

").tojson());

}public

class

query;}

[useprojection]

public listgetstudents()

,newstudent};}

}public

class

student

public

string name

public

int age

}public

class upperdirectivetype : directivetype}}

return

next.invoke(context);

});}

}public

class

upperdirective

}public

class replacedirectivetype : directivetype

if (context.field.member.membertype ==system.reflection.membertypes.property)}}

return

next.invoke(context);

});}

}public

class

replacedirective

public

string

new }}

}

upper和replace兩個directive處理的還比較粗糙,這裡主要說明directive的定義方式;在呼叫這些directive時,按照前後順序呼叫,多個directive可以同時生效,和asp.net core的中介軟體原理相近,上例的後兩個呼叫 name @upper @replace和name @replace @upper返回的結果是不一樣的。

打造自己的簡易HTML Editor

href ms help hx hxruntime hxlink.css type text css rel stylesheet html的很多控制項都提供乙個叫contenteditable 首先定義乙個div,並設定contenteditable true 接著需要有一些命令來操作這個div ...

打造自己的php框架

自己打造php框架,首先要對自己的框架定位,為什麼現在已經有這麼多非常成熟的框架而不用,要用自己的php框架。1 為了更快的開發效率 2 為了更高的執行效率 3 彰顯出自己的實力 一 框架流程 要想打造乙個自己的php框架還要了解框架的執行流程 入口檔案 定義常量 引入函式庫 自動載入類 啟動框架 ...

UEStudio 打造自己的php IDE

我是一名php程式猿,一直想找乙個適合自己的php ide。不喜歡zend studio,因為它太佔資源,所以打算使用乙個輕量級的文字編輯器做開發。最終我選擇了uestudio。下面說說它的優勢。各個編輯器本身自帶的功能我就不重複了,就講一講我很喜歡的特有功能。1 可以選擇開發環境 web開發者 技...