小编use*_*447的帖子

如何使用 Dancer2::Plugin::REST 返回 XML?

当用户访问 mydomain.com/api/1.json 时,我成功地使用 Dancer2::Plugin::REST 从我的 Web 服务器返回 JSON。同时保留此功能,我如何使用 Dancer2::Plugin2::REST 返回用户访问 mydomain.com/api/1.xml 时的 XML ?

我的 config.yml 包含此部分:

serializers:
  json: JSON
  yml:  YAML
  yaml: YAML
  dump: Dumper
  xml:  XML
Run Code Online (Sandbox Code Playgroud)

我的 lib/MyApp/API.pm 看起来像这样:

package MyApp::API;

use Dancer2;

use Dancer2::Plugin::REST;
prepare_serializer_for_format;

get '/1.:format' => sub {
    return { 'temperature' => '10', 'date' => '2019-09-01' };
};

true;
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,我在运行时得到了正确的 JSON 片段:

curl -H 'Accept-Type: text/json' https://<mydomain>/api/1.json
Run Code Online (Sandbox Code Playgroud)

但是当我运行时:

curl -H 'Accept-Type: text/xml' https://<mydomain>/api/1.xml
Run Code Online (Sandbox Code Playgroud)

或者

curl -H 'Accept-Type: application/xml' https://<mydomain>/api/1.xml
Run Code Online (Sandbox Code Playgroud)

或者

curl https://<mydomain>/api/1.xml
Run Code Online (Sandbox Code Playgroud)

我收到服务器错误响应:

Internal Server …
Run Code Online (Sandbox Code Playgroud)

xml perl

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

在本地运行 gitlab-runner 时如何使用子模块?

在我们的 Gitlab 服务器上,我有两个存储库,其中一个存储库(“EPSILON-SDK-C”)是另一个存储库的子模块。当我在我的开发机器上本地运行 gitlab-runner 时

 sudo gitlab-runner exec docker build_fw
Run Code Online (Sandbox Code Playgroud)

gitlab-runner 找不到子模块,如 gitlab-runner 的输出所示:

Updating/initializing submodules...
Submodule 'thirdparty/EPSILON-SDK-C' (/home/me/gitlab_repos/EPSILON-SDK-C) registered for path 'thirdparty/EPSILON-SDK-C'
fatal: repository '/home/me/gitlab_repos/EPSILON-SDK-C' does not exist
fatal: clone of '/home/me/gitlab_repos/EPSILON-SDK-C' into submodule path '/builds/0/project-0/thirdparty/EPSILON-SDK-C' failed
Failed to clone 'thirdparty/EPSILON-SDK-C'. Retry scheduled
fatal: repository '/home/me/gitlab_repos/EPSILON-SDK-C' does not exist
fatal: clone of '/home/me/gitlab_repos/EPSILON-SDK-C' into submodule path '/builds/0/project-0/thirdparty/EPSILON-SDK-C' failed
Failed to clone 'thirdparty/EPSILON-SDK-C' a second time, aborting
ERROR: Job failed: exit code 1
FATAL: exit code 1
Run Code Online (Sandbox Code Playgroud)

然而,当我们的 Gitlab 服务器被提交触发时,Gitlab …

gitlab-ci-runner

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

标签 统计

gitlab-ci-runner ×1

perl ×1

xml ×1