Fork me on GitHub

mini api

大部分主流语言都支持web框架,并且实现起来相对轻便,简捷,比如:

go的gin包

package main
import "github.com/gin-gonic/gin"
func main() {
  r := gin.Default()
  r.GET("/ping", func(c *gin.Context) {
    c.JSON(200, gin.H{
      "message": "pong",
    })
  })
  r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

 

python(未运行)

from flask import Flask, url_for
app = Flask(__name__)

@app.route('/ping')
def api_ping():
    return jsonify(message="pong")
if __name__ == '__main__':
    app.run()

  其实.net中也是有的,比如以前的nancy(https://nancyfx.org/)就比较轻量,今天介绍的是更简单的构建mini web host的方法,那就是featherhttp(github:https://github.com/featherhttp/framework),代码如下:也是很简单的实现一个web api服务,三行代码,非常轻量。

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;

var app = WebApplication.Create();
app.MapGet("/ping",  http=>http.Response.WriteAsJsonAsync(new { message="pong"}));
await app.RunAsync();

项目文件

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="FeatherHttp" Version="0.1.83-alpha.g15473de7d1" />
  </ItemGroup>
</Project>

  FeatherHttp现在不在nuget.org上,需要在vs中配置nuget源https://f.feedz.io/featherhttp/framework/nuget/index.json,然后再选择引用。

  FeatherHttp,还处在alpha阶段,关于FeatherHttp更多的探索,可参https://github.com/featherhttp/framework。关于FeatherHttp究竟本质是什么,那就在源码中寻找了

 

  想要更快更方便的了解相关知识,可以关注微信公众号 
 

 

 

 
posted @ 2022-02-04 17:06  桂素伟  阅读(114)  评论(0编辑  收藏  举报