我在CouchDB中定义了一个非常基本的视图:
function(doc) {
if(doc.date && doc.erc) {
emit(doc.date, doc.erc);
}
}
Run Code Online (Sandbox Code Playgroud)
它只是按日期提取所有文件和排序.
我试过追加
?startkey="2010-05-01"
Run Code Online (Sandbox Code Playgroud)
到URL和Futon只是浏览器重定向.
我也尝试过使用CURL:
curl -X GET http://localhost:5984/plots/_design/by_date/_view/by_date?startkey="2010-05-01"
Run Code Online (Sandbox Code Playgroud)
这引发了一个错误:
{"error":"bad_request","reason":"invalid UTF-8 JSON"}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?这应该是一个非常基本的事情.
谢谢,-Jim
我有一个看起来像这样的请求:
@Path("/v1")
@RegisterRestClient
@Produces("application/json")
public interface VaultClient {
@POST
@Path("/auth/jwt/login")
@Consumes("application/json")
String getVaultToken(LoginPayload loginPayload);
}
Run Code Online (Sandbox Code Playgroud)
LoginPayload 只是一个简单的 POJO:
public class LoginPayload {
private String jwt;
final private String role = "some-service";
public void setJwt(String _jwt) {
this.jwt = _jwt;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试通过服务调用此端点时:
public String getServiceJwt() {
String loginJwt = getLoginJwt();
LoginPayload loginPayload = new LoginPayload();
loginPayload.setJwt(loginJwt);
try {
System.out.println(loginPayload.toString());
String tokenResponse = vaultClient.getVaultToken(loginPayload);
System.out.println("##################");
System.out.println(tokenResponse);
} catch (Exception e) {
System.out.println(e);
}
return vaultJwt;
}
Run Code Online (Sandbox Code Playgroud)
我得到一个 400:
javax.ws.rs.WebApplicationException: Unknown error, …Run Code Online (Sandbox Code Playgroud) 我正在尝试测试 NestJS 内置的 HttpService (基于 Axios)。不过,我在测试错误/异常状态时遇到了麻烦。在我的测试套件中,我有:
let client: SomeClearingFirmClient;
const mockConfigService = {
get: jest.fn((type) => {
switch(type) {
case 'someApiBaseUrl': {
return 'http://example.com'
}
case 'someAddAccountEndpoint': {
return '/ClientAccounts/Add';
}
case 'someApiKey': {
return 'some-api-key';
}
default:
return 'test';
}
}),
};
const successfulAdd: AxiosResponse = {
data: {
batchNo: '39cba402-bfa9-424c-b265-1c98204df7ea',
warning: '',
},
status: 200,
statusText: 'OK',
headers: {},
config: {},
};
const failAddAuth: AxiosError = {
code: '401',
config: {},
name: '',
message: 'Not Authorized',
}
const …Run Code Online (Sandbox Code Playgroud) 我在自己的模块中定义了一个服务:
angular.module('foteDatasetsService', [])
.factory('foteAPIservice', function($http) {
var foteAPI = {};
foteAPI.getDatasets = function() {
return $http({
method: 'JSONP',
url: 'http://localhost:8080/datasets?callback=JSON_CALLBACK'
});
}
return foteAPI;
});
Run Code Online (Sandbox Code Playgroud)
在另一个模块中,(在另一个文件中)我有一个控制器,我想用它:
angular.module('foteRequests').controller('foteRequestsController',
['$scope', function foteRequestsController($scope, foteAPIservice) {
//snip other stuff
$scope.datasets = [];
foteAPIservice.getDatasets().success(function (response) {
//Digging into the response to get the relevant data
$scope.datasets = response;
console.log(response);
});
]);
Run Code Online (Sandbox Code Playgroud)
我在一个名为init .js 的文件中有一个init模块,它包含如下依赖项:
'use strict';
angular.module('foteRequests', ['foteDatasetsService']);
Run Code Online (Sandbox Code Playgroud)
它看起来并不像实际上将foteDatasetsService注入控制器.如果我运行该应用程序,我收到一个错误:
Cannot call method 'getDatasets' of undefined
Run Code Online (Sandbox Code Playgroud)
因此,如果我通过在控制器中包含foteDatasetsService来强制解决问题,如下所示:
angular.module('foteRequests').controller('foteRequestsController', ['$scope',
'foteDatasetsService', function foteRequestsController($scope, foteAPIservice) {
... …Run Code Online (Sandbox Code Playgroud) 使用 Spring 和 Micronaut,有非常简洁的方法可以根据应用程序运行的环境/配置文件来注入不同的 bean。我正在尝试对 Quarkus 做同样的事情。
我读过这篇文章: https: //quarkus.io/blog/quarkus-dependency-injection/。这个 StackOverflow 帖子中提到了这个过程:How can I override a CDI bean in Quarkus for test? 。最后一篇文章说,“在测试目录中创建 bean”。
我的问题略有不同。我想在“开发”时注入一个bean。在生产中,我想注入默认的 bean。从文档中,我看不出有什么方法可以让应用程序做出这种区分。
如果我有一个像这样的默认类:
@DefaultBean
@ApplicationScoped
class ProdProvider : SomeProvider {}
Run Code Online (Sandbox Code Playgroud)
我想像这样覆盖它:
@Alternative
@Priority(1)
class DevProvider : SomeProvider {}
Run Code Online (Sandbox Code Playgroud)
我怎样才能只在开发模式下发生这种情况?
在一种情况下,我有一个凭据提供程序类,用于在本地开发时设置 Google 的 PubSub 模拟器。在生产中,我使用一个实现相同接口的类,但它是一个真正的凭据提供程序。导致我问这个问题的特殊情况是一个实现一种方法的类:
@ApplicationScoped
class VaultLoginJwtProvider : LoginJwtProvider {
@ConfigProperty(name = "vault.tokenPath")
private val jwtPath: String? = null
companion object {
val logger: Logger = LoggerFactory.getLogger("VaultTokenProvider")
}
override fun getLoginJwt(): Optional<String> {
logger.info("Using …Run Code Online (Sandbox Code Playgroud) 如果我这样做,为什么呢?
-102.between?(-100,-105)
Run Code Online (Sandbox Code Playgroud)
在Ruby中,它返回false?
-102确实在-100到-105之间,对吗?
我试图用经度坐标(在我的半球将是负数)这样做,所以例如如果:
ilong = -102.560
if ilong.between?(-100.000,-105.000) then utmzone = 10 end
puts utmzone
Run Code Online (Sandbox Code Playgroud)
应该返回10.
我该如何做到这一点?
-Jim
我动态生成一些标记并将其注入DOM,如下所示:
content+='<td><a class="reportLink" onclick="showReport();return false;" href="'+layerResults.features[i].attributes['Information_External']+'">Info</a></td>';
Run Code Online (Sandbox Code Playgroud)
我知道使用jQuery附加click处理程序而不是使用内联处理程序会更好.
问题是,即使使用内联处理程序和这样的函数:
function showReport() {
console.log('stopped');
}
Run Code Online (Sandbox Code Playgroud)
仍然不会阻止链接从我的页面导航.
第二个问题是,当我尝试使用时
jQuery('.reportLink'.on('click', function(e) {
e.preventDefault();
console.log('clicked');
});
Run Code Online (Sandbox Code Playgroud)
事件永远不会附加.我正在使用jQuery 1.7.2.
这让我有点疯狂,因为这是一个简单的任务,我已经在jQuery <= 1.5中完成了大量的事情.