Files
serein-flow/Library/Network/Http/Attribute.cs

87 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Library.Web
{
/// <summary>
/// 表示参数为url中的数据
/// </summary>
public class UrlAttribute : Attribute
{
}
/// <summary>
/// 表示入参参数为整个boby的数据
/// <para>
/// 例如User类型含有int id、string name字段</para>
/// <para>
/// ① Add(User user)</para>
/// <para>请求需要传入的json为
/// {"user":{
/// "id":2,
/// "name":"李志忠"}}</para>
/// <para>
/// ② Add([Boby]User user)</para>
/// <para>请求需要传入的json为
/// {"id":2,"name":"李志忠"}</para>
///
/// </summary>
public class BobyAttribute : Attribute
{
}
/// <summary>
/// 自动注册控制器
/// </summary>
public class AutoHostingAttribute : Attribute
{
public string Url { get; }
public AutoHostingAttribute(string url = "")
{
this.Url = url;
}
}
/// <summary>
/// 方法的接口类型与附加URL
/// </summary>
[AttributeUsage(AttributeTargets.Method)]
public class WebApiAttribute : Attribute
{
public ApiType ApiType; // HTTP 请求类型
public string Url; // URL 路径
/// <summary>
/// 方法名称不作为url的部分
/// </summary>
public bool IsUrl;
/// <summary>
/// 假设UserController.Add()的WebAPI特性中
/// http是HTTP.POST
/// url被显示标明“temp”
/// 那么请求的接口是POST,URL是
/// [http://localhost:8080]/user/add/temp
/// </summary>
/// <param name="http"></param>
/// <param name="url"></param>
public WebApiAttribute(ApiType http = ApiType.POST, bool isUrl = true, string url = "")
{
ApiType = http;
Url = url;
IsUrl = isUrl;
}
}
public enum ApiType
{
POST,
GET,
//PUT,
//DELETE
}
}