日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dotnet-httpie 0.2.0 Released

發(fā)布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dotnet-httpie 0.2.0 Released 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

dotnet-httpie 0.2.0 Released

Intro

dotnet-httpie 是類 httpie 的一個調(diào)用 HTTP API 的小工具,可以幫助我們快速測試 API,語法和 httpie 基本一樣。

第一個版本發(fā)布之后,做了一些重構(gòu),使用 System.CommandLine 重寫了對于 Option 的支持,并增加了一些新的功能,并且開始使用更多的 .NET 6 新特性。

Features

Command Rename

在第一個版本中,我們是直接使用 http 來調(diào)用我們的方法,這樣用起來很方便,但是如果和 httpie 一起使用的話,就會有一個被覆蓋掉,為了避免這個問題,在新版本中做了重新命名了,新版本中可以使用 dotnet-http 命令,你也可以使用?dotnet http,http?=>?dotnet-http/dotnet http

使用示例:

dotnet-http?:5000/api/values dotnet-http?localhost:5000/api/values dotnet-http?get?localhost:5000/api/valuesdotnet-http?get?https://reservation.weihanli.xyz/api/notice?--body dotnet-http?post?/api/notice?title=test?body=test-body

但是在使用 docker 的時候還是保留了之前的用法,有一些小糾結(jié),目前我們?nèi)匀豢梢允褂?http 來調(diào)用,因為 docker 容器中不存在命令沖突的問題,大家覺得 docker 中使用 http 好一些還是使用 dotnet-http 更好一些呢?

System.CommandLine

System.CommandLine 可以用來實現(xiàn)命令行應用程序,很多 dotnet tool 也都是基于它來實現(xiàn)的,微軟的 SDK 以及 dotnet-format/dotnet-monitor 也是基于它來實現(xiàn)的命令行交互的,如果你也在嘗試做一個命令行工具,可以考慮一下這個

JSON Pretty

在新版本,默認增加了 JSON 的格式化,當 Request Body 或者 Response Body 是 Json 的時候會自動格式化輸出,以更加清晰的展示,也可以通過 --pretty=none 來禁用格式化

JSON Pretty

JSON No-pretty

Auth support

新版本增加了簡單的 Auth 的支持,目前支持 Basic 認證和 JWT Bearer 認證

增加了一個選項參數(shù), --auth/-a 指定 auth 參數(shù),--auth-type/-A 指定 auth 類型(目前支持 Basic/Bearer,默認是 Basic)

使用示例如下:

dotnet-http?"https://reservation.weihanli.xyz/api/Notice?pageNumber=1&pageSize=2"?-a='test:test' dotnet-http?"https://reservation.weihanli.xyz/api/Notice?pageNumber=1&pageSize=2"?--auth?'test:test'dotnet-http?"https://reservation.weihanli.xyz/api/Notice?pageNumber=1&pageSize=2"?--auth?"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2OWZhZjhlYTlhZDU0ODQ0ODkyMWFkMWVhMjE3ZjdhNyIsInN1YiI6IndlaWhhbmxpQG91dGxvb2suY29tIiwibmFtZWlkIjoiMSIsIm5iZiI6MTY0MzEyNjg0MSwiZXhwIjoxNjQzMTM0MDQxLCJpc3MiOiJodHRwczovL3NwYXJrdG9kby53ZWloYW5saS54eXoiLCJhdWQiOiJUb2tlbkF1ZGllbmNlIn0.80hiaYJ9LMdQlUC71CGHlkPChoVgqkFYP5ysR3YBUnc"?--auth-type?jwt dotnet-http?"https://reservation.weihanli.xyz/api/Notice?pageNumber=1&pageSize=2"?--auth?"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2OWZhZjhlYTlhZDU0ODQ0ODkyMWFkMWVhMjE3ZjdhNyIsInN1YiI6IndlaWhhbmxpQG91dGxvb2suY29tIiwibmFtZWlkIjoiMSIsIm5iZiI6MTY0MzEyNjg0MSwiZXhwIjoxNjQzMTM0MDQxLCJpc3MiOiJodHRwczovL3NwYXJrdG9kby53ZWloYW5saS54eXoiLCJhdWQiOiJUb2tlbkF1ZGllbmNlIn0.80hiaYJ9LMdQlUC71CGHlkPChoVgqkFYP5ysR3YBUnc"?--auth-type?Bearer dotnet-http?"https://reservation.weihanli.xyz/api/Notice?pageNumber=1&pageSize=2"?-a?"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2OWZhZjhlYTlhZDU0ODQ0ODkyMWFkMWVhMjE3ZjdhNyIsInN1YiI6IndlaWhhbmxpQG91dGxvb2suY29tIiwibmFtZWlkIjoiMSIsIm5iZiI6MTY0MzEyNjg0MSwiZXhwIjoxNjQzMTM0MDQxLCJpc3MiOiJodHRwczovL3NwYXJrdG9kby53ZWloYW5saS54eXoiLCJhdWQiOiJUb2tlbkF1ZGllbmNlIn0.80hiaYJ9LMdQlUC71CGHlkPChoVgqkFYP5ysR3YBUnc"?-A?Bearer

RawData

我們在調(diào)試 API 的時候,有時候可能是有一個測試的 Request Body,此時我們可能更加想要直接使用這個 Request Body,在新版本增加一個 --raw 選項,來直接配置 Request Body,類似于 curl 里的通過 -d 指定 body,當指定了 --raw 之后,通過 =或者 := 來指定的 body 的參數(shù)就會被忽略

使用示例如下:

dotnet-http?:5000/api/values?--raw='{"categoryName":"test",?"parentId":?0}'

在 Windows 上使用時," 需要轉(zhuǎn)義

raw data sample

More

除了新的功能和代碼優(yōu)化,在 CI 方面也做了一些改善和優(yōu)化,比如我們之前介紹過的?使用 dotnet format 格式化代碼 以及管理項目的 License header 以及?使用 dotnet-outdated 維護項目 nuget 包版本

除此之外還有一些 .NET 6 新特性的應用比如 .NET 6 中的 Logging Source Generator?在這個項目中也有應用,感興趣的可以探索一下哈~

References

  • https://github.com/WeihanLi/dotnet-httpie/tree/0.2.0

  • https://www.nuget.org/packages/dotnet-httpie/0.2.0

  • https://hub.docker.com/repository/docker/weihanli/dotnet-httpie

  • 動手造輪子 —— dotnet-HTTPie

  • 使用 dotnet format 格式化代碼

  • dotnet-format一鍵應用文件范圍命名空間

  • File header template

  • 使用 dotnet-outdated 維護項目 nuget 包版本

  • .NET 6 中的 Logging Source Generator

總結(jié)

以上是生活随笔為你收集整理的dotnet-httpie 0.2.0 Released的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。