小编NET*_*eek的帖子

控制器 .NET 核心 Web API 的查询字符串和属性路由

我试图实现这样的目标

namespace CoreAPI.Controllers
{
    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
        // GET api/values

        // GET api/values/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value";
        }

        [HttpGet]
        public string GetValue(string name,string surname)
        {
            return "Hello " + name;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想通过使用这两个 URL 来调用这个控制器方法:

  1. http://localhost:11979/api/values/Getvalues/John/lawrance
  2. http://localhost:11979/api/values/GetValues?name=john&surname=lawrance

c# asp.net-core asp.net-core-webapi asp.net-core-2.0

3
推荐指数
1
解决办法
6575
查看次数

具有常量值的Oracle(+)运算符

考虑以下Oracle查询:

SELECT psn_id, nvl(psn_name_lang, psn_name_kurz) psn_name, cli_code, cli_id, cli_cmp_id, p2.pat_value cli_domain
FROM tabl_psn_obj, table_cli, table_pat p1, table_pat p2
WHERE psn_id = p1.pat_psn_id
  AND p1.pat_value = to_char(cli_cmp_id)
  AND p1.pat_att_id = 3
  AND p2.pat_att_id(+) = 48 <---- what does this mean
  AND p2.pat_psn_id = psn_id
  AND p2.pat_value = i_domain
  AND cli_cmp_id = i_cmp_id;
Run Code Online (Sandbox Code Playgroud)

我对他的(+)操作员感到困惑.据我所知,这(+)是一个快捷方式OUTER JOIN,取决于你把它放在哪一侧,它表示一个LEFTRIGHT OUTER JOIN.

但在上面的查询中,左外连接具有一些常量值,而不是任何其他表ID.这是什么意思?PostgreSQL中的类似之处是什么?

也许这个问题可以概括,但我不理解具有恒定值的含义.

sql oracle outer-join

2
推荐指数
1
解决办法
340
查看次数

执行 API 方法时不会调用 AWS API Gateway 自定义授权程序

我正在使用 AWS lambda 无服务器 WEB API 应用程序。我的控制器有一种方法可以简单地返回一些字符串值。我想添加一个对请求者进行身份验证的身份验证层。请求者应将“Authorizer”密钥传递给标头以进行身份​​验证。

这篇文章帮助我这样做。我用过这个例子

我创建了一个 Custom Authorizer lambda 来验证在 API 请求标头中传递的用户。但是当我点击 API URL 时,我的自定义授权器没有调用。下面是我的自定义授权方 lambda 函数代码

public APIGatewayCustomAuthorizerResponse FunctionHandler(APIGatewayCustomAuthorizerRequest apigAuthRequest, ILambdaContext context)
    {


        Console.WriteLine("1");

        bool ok = false;

        if (apigAuthRequest.Headers["Authorization"] == "test")
        {
            ok = true;
            Console.WriteLine("2");
        }
        return new APIGatewayCustomAuthorizerResponse
        {
            PrincipalID = "test",
            PolicyDocument = new APIGatewayCustomAuthorizerPolicy
            {
                Version = "2012-10-17",
                Statement = new List<APIGatewayCustomAuthorizerPolicy.IAMPolicyStatement>() {
                  new APIGatewayCustomAuthorizerPolicy.IAMPolicyStatement
                  {
                       Action = new HashSet<string>(){"execute-api:Invoke"},
                       Effect = ok ? "Allow" : "Deny",
                       Resource …
Run Code Online (Sandbox Code Playgroud)

aws-lambda asp.net-core aws-serverless

2
推荐指数
1
解决办法
1231
查看次数