4

私は安静なサービスにかなり慣れていません.Swaggerプラグインを使用してServiceStackの安静なサービスを実行するためのテストコードを実装したところです。これが私の質問につながります...

swagger-ui/index.html 内に「api_key」のフィールドがあります。変数名がうーん... 変数であることは知っていますが、好きなように設定することもできますが、それが何に使用されるのか、そしてそれを利用すべきかどうかについて少し混乱しています。

また、それを使用する場合、servicestack はサーバー側でその値をどのように提示しますか?

これが、ドキュメントから起動して実行したテストサービスです...

    [Api("Hello Web Services")]    
    [Route("/Hello", Summary = @"Noel's ServiceStackSwagger thingy", Notes = "Some more info in here cause these are notes")]
    [Route("/Hello/{name}",   Summary = @"N031'5 ServiceStackSwagger thingy", Notes = "Some more info in here cause these are notes", Verbs="GET,POST" )] 
    public class Hello
    {
        [ApiMember(Name = "Name", Description = "This is a description", ParameterType = "path", DataType = "string", Verb="GET,POST")]
        public string Name { get; set; }
    }

    public class HelloResponse
    {
        public string Result { get; set; }
    }


    public class HelloService : Service
    {
        public object Any(Hello request)
        {
            return new HelloResponse { Result = "Hello, " + request.Name };
        }
    }
4

2 に答える 2

4

Esker の私自身のフォローアップ要求に答えるために、API キーの使用方法は次のとおりです...

public class HelloService : Service
{        
    public object Any(Hello request)        
    {
        string api_key = this.Request.Headers["api_key"];            
        return new HelloResponse { Result = "Hello, " + request.Name };
    }
} 

しかし、それをヘッダーに含めるには、追加のjavascriptも必要です(swagger-ui/index.html内)...

   $(function () {
        $.ajaxSetup({
            beforeSend: function (jqXHR, settings) {
                jqXHR.setRequestHeader("api_key", $("#input_apiKey").val());
            }
        });
    });

この質問の回答で見つけた...

Swagger で API キーを URL ではなく http として送信する方法

于 2013-08-14T09:14:57.040 に答える