小编Der*_*ang的帖子

在反向代理后面运行时,使用端口 80 进行 https 的 Swashbuckle

我有一个用 swagger/swashbuckle 记录的 .net core api。

在 localhost 上的 url https://localhost:44390/ 上运行 swagger ui 时,“尝试一下”工作正常。

我们在 Azure 的应用服务中使用相同的解决方案,其中 Azure Front Door 作为反向代理。Front Door 只接受 https 流量并且只转发 https 流量。前门域为 widget.example.com,应用服务为 widget-test-app.azurewebsites.net。使用 url https://widget.example.com/api/index.html在 Azure 中运行 swagger ui 时,与在 localhost 中运行相比,有两个区别:

  1. swagger ui 显示 Servers -heading 和下拉列表
  2. swagger ui 将服务器 url 显示为https://widget.example.com:80

我使用以下代码在 api 中添加了一个端点

return $"Host {HttpContext.Request.Host.Host} Port {HttpContext.Request.Host.Port} Https {HttpContext.Request.IsHttps}";
Run Code Online (Sandbox Code Playgroud)

当请求https://widget.example.com/api/v1/test/url它返回

主机 widget-test-app.azurewebsites.net 端口 Https True

这完全没问题,因为前门正在更改主机头。但是,端口是空的。

摘要:Swagger ui 在服务器下拉列表中显示正确的域,但端口号错误。如果它是 80 或 443,我怎样才能让它省略端口号,或者正确添加它?

更新:问题出在反向代理后面的 …

swagger swagger-ui swashbuckle asp.net-core asp.net-core-webapi

8
推荐指数
1
解决办法
2235
查看次数

Angular ngx-datatable 行细节问题

我在 ngx-datatable 中使用 row-detail 有两个问题。

  1. rowIndex 不起作用。我发现了一个描述该问题的 github 问题,但据说它已在 v. 10.0.2 左右修复,我使用的是 11.1.5(当前版本)。{{rowIndex}} 的每一行都返回 0。我的解决方法是写出我自己的索引到一列,然后引用它,但我不应该这样做。使用下面的代码,当我单击其中的一行时,每一行都会进入编辑模式,因为它们都具有相同的 rowIndex。

  2. 我无法让行详细信息行使用其“父”行的全宽。我怀疑这是因为我正在使用[columnMode]="'flex'"而演示使用 columnMode]="'force'"。我可以设置最小宽度,但我不能让 width: 100% 工作。可能是因为有一个没有宽度的 div 包装器

<ngx-datatable #dataTable class="material expandable" [rows]="rows" [limit]="50" [columnMode]="'flex'"
  [headerHeight]="50" [footerHeight]="50" [rowHeight]="50" [selectionType]="'single'" (select)="onSelect($event)"
  (activate)="onActivate($event)">
  <!-- Row Detail Template -->
  <ngx-datatable-row-detail [rowHeight]="50" #myDetailRow (toggle)="onDetailToggle($event)">
    <ng-template let-rowIndex="rowIndex" let-row="row" let-value="value" let-expanded="expanded"
      ngx-datatable-row-detail-template>
      <span class="rowDetail" title="Click to edit" (click)="editing[rowIndex + '-name'] = true"
        *ngIf="!editing[rowIndex + '-name']"> {{row.name}} </span>
      <mat-form-field floatPlaceholder='never' *ngIf="editing[rowIndex + '-name']">
        <input matInput style="min-width:300px" (keyup.enter)="updateValue($event, 'name', rowIndex)" type="text" …
Run Code Online (Sandbox Code Playgroud)

javascript ngx-datatable angular

7
推荐指数
1
解决办法
1909
查看次数

CloudFront 的 create_invalidation 调用中的 Quantity 字段有什么意义?

CloudFront create_invalidationAPI 允许您指定一个Quantity看似多余的值。Quantity是否有设置不同于 的长度的用例Items

response = client.create_invalidation(
  DistributionId = 'string',
  InvalidationBatch = {
    'Paths': {
      'Quantity': 2,
      'Items': [
        '/index.html',
        '/image.png',
      ]
    },
    'CallerReference': 'string'
  }
)
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudfront boto3

7
推荐指数
1
解决办法
739
查看次数

如何为 Chrome 创建 VPN 扩展

我有一个PPTP VPN可以将其添加到带有 Windows 内置类型的 Windows 上的 VPN 上,但我需要一个扩展来仅在 Chrome 中设置 VPN,这意味着我不希望 VPN 影响我的系统和我的应用程序,我只需要此 VPN 才能工作铬合金。

我希望它像其他扩展程序(如 Zenmate 或 Windscribe 或其他 VPN 扩展程序)一样工作,但使用我自己的 VPN 服务器 IP 以及用户名和密码PPTP

如果有人有任何信息,请帮助了解如何在 Chrome 中设置 VPN 客户端,或者用于在扩展中连接到 VPN 服务器的 JavaScript 代码是什么。

javascript vpn google-chrome-extension

5
推荐指数
0
解决办法
2188
查看次数

React JS 和 Google 电子表格:无法读取 Null 的属性“2”

我目前正在使用React JS 和 Google Spreadsheets,并且正在关注与本文类似的内容。但是,我遇到了问题。每当我尝试连接到电子表格时,我的 React 应用程序都会成功运行几秒钟,然后崩溃,并显示以下错误消息: 在此输入图像描述

目前,这是我的代码:

import {
  GoogleSpreadsheet
} from 'google-spreadsheet';

function App() {
  const setup = async () => {
    const doc = new GoogleSpreadsheet('my spreadsheet-id'); // Obviously putting in my real spreadsheet id and data instead of this in my real code
    await doc.useServiceAccountAuth({
      client_email: 'my client-email',
      private_key: 'my private-key'
    });

    await doc.loadInfo(); // loads document properties and worksheets

    const sheet = doc.sheetsByIndex[0]; // or use doc.sheetsById[id]
    console.log(sheet.title);
    console.log(sheet.rowCount);
  }
Run Code Online (Sandbox Code Playgroud)

我的应用程序函数确实有一个渲染方法,我最终运行设置函数来连接到我的电子表格。 …

google-sheets reactjs

4
推荐指数
1
解决办法
2205
查看次数

函数未返回预期结果

我编写了一个函数来搜索数组并记录一个数字(x)(如果找到)。下面的代码按预期工作,并记录了 1。

let myArr = [54, 23, 499, 342, 1, 44];
let x = 1;

let searchNumber = (arr) => {
  arr.forEach(ele => {
    if (ele == x) {
      console.log(ele);
    }
  })
};

searchNumber(myArr);
Run Code Online (Sandbox Code Playgroud)

我现在想返回分配给变量 x 的数字。期望 y 被分配 499 但是当我记录 y 时它返回未定义。我哪里错了?

let myArr = [54, 23, 499, 342, 1, 44];
let x = 499;

let searchNumber = (arr) => {
  arr.forEach(ele => {
    if (ele == x) {
      return ele;
    }
  })
};

let y = searchNumber(myArr);
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
2
解决办法
86
查看次数

将具有不同键的对象数组转换为一个对象

我有一个像下面这样的对象。

{
  A: { lists: 2, list: [ [Object], [Object] ] },
  B: { lists: 2, list: [ [Object], [Object] ] },
  C: { lists: 1, list: [ [Object]] }
}
Run Code Online (Sandbox Code Playgroud)

在我对对象列表结果进行映射后,如下所示

 const list = Object.entries(result).map(([k, v]) => ({[k]: v.lists}));
Run Code Online (Sandbox Code Playgroud)

我得到的结果是

[{"A":2},{"B":2},{"C":1}]
Run Code Online (Sandbox Code Playgroud)

但我真正想要的是

{A: 2, B: 2, C: 1}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

javascript lodash

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

当当前选项卡在反应导航5中处于活动状态时,如何在底部选项卡的顶部添加一行

我想在底部选项卡的顶部添加一行,如何添加?像这个问题https://github.com/react-navigation/react-navigation/issues/8957

反应导航版本:

"@react-navigation/bottom-tabs": "^5.9.2",
"@react-navigation/native": "^5.7.6",
"@react-navigation/stack": "^5.9.3",
"react": "16.13.1",
"react-native": "0.63.3",
Run Code Online (Sandbox Code Playgroud)

react-native react-navigation-bottom-tab react-navigation-v5

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

延迟流明上的作业队列

我有一个关于 Lumen 7 的项目,其中包括很多队列,但我不能推迟工作。

这就是我派遣工作的方式:

dispatch(new NotifyJob($user, $template));
Run Code Online (Sandbox Code Playgroud)

但是当我添加这个时

dispatch(new NotifyJob($user, $template))->delay(now()->addMinutes(10));
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

"Call to undefined method Laravel\\Lumen\\Bus\\PendingDispatch::delay()"
Run Code Online (Sandbox Code Playgroud)

这样做 EmailJob::dispatch($user, $template); 让我Undefined method dispatch

我就是无法推迟上班。

lumen laravel-7

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

使用 javascript 在表中插入表单值

document.getElementById("submit").onclick = function () {
  document.getElementById("table").style.display = "block";

  var table = document.getElementById("table");
  var row = table.insertRow(-1);
  var date = row.insertCell(0);
  var desc = row.insertCell(1);
  var amt = row.insertCell(2);
  date.innerHTML = document.getElementById("date").value;
  desc.innerHTML = document.getElementById("desc").value;
  amt.innerHTML = document.getElementById("amount").value;

  return false;
}
Run Code Online (Sandbox Code Playgroud)
table {
  display: none;
}
Run Code Online (Sandbox Code Playgroud)
<h1>Expense Tracker</h1>

<form action="">
  <label id="date">Date: </label>
  <input type="date" id="date">
  <br>

  <label id="desc">Description: </label>
  <input type="text" id="desc">
  <br>

  <label id="amount">Amount: </label>
  <input type="text" id="amount">
  <br>

  <input type="button" id="submit" value="Submit">
  <br>
</form>

<table id="table">
  <tr>
    <th>Date</th> …
Run Code Online (Sandbox Code Playgroud)

javascript forms html-table

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

Lodash - 如何根据键合并两个对象数组?

我正在尝试使用 lodash 连接两个对象数组。我有这两个数组,并以这种方式使用 concat 运算符:

 var array1 = [{ id: 1, name: 'doc1' }, { id: 2, name: 'doc2' }];
 var array2 = [{id:1, name:'doc1'}, {id:3, name:'doc3'}, {id:4, name:'doc4'}];

 var array3 = _.concat(array1, array2);
Run Code Online (Sandbox Code Playgroud)

我想要一个这样的数组

 [{id:1, name:'doc1'}, {id:2, name:'doc2'}, {id:3, name:'doc3'}, {id:4, name:'doc4'}]]
Run Code Online (Sandbox Code Playgroud)

但是使用 concat 函数,我获得了一个这样的数组:

  [{ id: 1, name: 'doc1' }, { id: 1, name: 'doc1' }, { id: 2, name: 'doc2' }, { id: 3, name: 'doc3' }, { id: 4, name: 'doc4' }]]
Run Code Online (Sandbox Code Playgroud)

我想避免重复使用相同 id 的对象...我可以使用哪种运算符?

javascript typescript lodash

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

使用 2 个线程增加计数器

我正在尝试使用 2 个线程将最初为 0 的计数器增加到 1000。这是我的代码

class CounterVar {
  private int val;

  CounterVar() {
    val = 0;
  }

  public void increment() {
    Object obj = new Object();
    synchronized(obj) {
      val++;
    }
  }

  public int getVal() {
    return val;
  }
}

public class Counter {
  public static void main(String[] args) throws InterruptedException {
    CounterVar counter = new CounterVar();
    Thread t1 = new Thread(() - > {
      for (int i = 0; i < 500; i++)
        counter.increment();
    });
    Thread t2 = new …
Run Code Online (Sandbox Code Playgroud)

java multithreading

0
推荐指数
1
解决办法
57
查看次数

如何使用 JavaScript 从数组中删除第二个方括号?

我有一个像这样的数组:

data: [
  [
    {}, {} ... //multiple objects
  ]
]
Run Code Online (Sandbox Code Playgroud)

如何删除第二个方括号?我希望将其从 更改[[{}]][{}]

javascript arrays

-9
推荐指数
1
解决办法
6986
查看次数