我最近试图陷入困境。我有一个分页的请求。
const myParams = new HttpParams().set('page', page.toString()).set('size', size.toString());
this.http.get<HttpResponse<User[]>>('https://localhost:8443/user/', {
headers: new HttpHeaders({ 'Content-Type': 'application/json' }),
params: myParams,
observe: 'response'
}).suscribe((response: HttpResponse<User[]>) => this.data = response.body);
Run Code Online (Sandbox Code Playgroud)
DB中的元素总数将在X-Total-Count标头中传输到客户端。我试图这样阅读:
.suscribe((response: HttpResponse<User[]>) => {
this.data = response.body;
this.totalCount = response.headers.get('X-Total-Count');
});
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。事实证明,response.header仅包含实际http-response-header的子集。
这是标题对象的样子
"headers": {
"normalizedNames": {},
"lazyUpdate": null
}
Run Code Online (Sandbox Code Playgroud)
我确定X-Total-Count已发送。Firefox devtools展示了它。您能否告诉我如何将其纳入响应中?
更新
这个问题与通过以下方式被确定为重复项的问题有所不同:我没有问过如何检查完整的httpResponse。我自己弄清楚了。我一直在问为什么headers响应的属性不完整。
我正在使用Hibernate和JPA将我的数据存储在数据库中.现在我想保存ZonedDateTime的java.time.
问题是,Hibernate只会坚持日期和时间.它不关心ZoneId或偏移.
有没有办法说服Hibernate持有这些信息?
我遇到了 gradle / groovy 的奇怪行为。
我有一个bulid.gradle看起来像这样的:
def elastic(notation, projectName) {
if (allprojects.find { it.name == projectName }) {
println "adding project dependency on project $projectName"
project(projectName)
} else {
println "adding binary dependency on project $projectName"
dependencies.create(notation)
}
}
dependencies {
elastic('my.group:myProject:1.0','myProject')
}
Run Code Online (Sandbox Code Playgroud)
如果不存在具有该名称的项目,则此函数返回二进制依赖项myProject,否则返回项目依赖项。但这不是重点。我在不同的项目中经常使用这个功能,而且效果很好。但为了避免冗余代码,我尝试将该函数外部化。所以我把它放入define_elastic_1.gradle并将该文件应用到我的build.gradle. 现在看起来是这样的:
apply from: "file://entw1/ENTWICKLUNG/GfOPGradleRepo/define_elastic_1.gradle"
dependencies{
elastic('my.group:myProject:1.0','myProject')
}
Run Code Online (Sandbox Code Playgroud)
但当我做gradle build它说
Could not find method elastic() for arguments [my.group:myProject:1.0, myProject] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Run Code Online (Sandbox Code Playgroud)
你知道为什么我不能使用在单独文件中定义的函数吗?
我在一个遗留软件中工作,其中大部分配置是从application.properties它外部化的,它驻留在一个名为的文件中,该文件custom.properties将被读入一个这样声明的配置 bean。
@Configuration
@ConfigurationProperties(locations = "classpath:custom.properties", ignoreUnknownFields = true, prefix = "custom")
public class CustomProperties {
...
}
Run Code Online (Sandbox Code Playgroud)
此应用程序有一些计划任务,它们声明以固定的时间间隔和时间工作。@Scheduled(cron = "0 0 16 * * 3")到目前为止,一切正常。最近,我被要求在可配置的时间执行此 cronjob。所以我添加了另一个属性custom.properties和一个属性CustomProperties(包括 getter 和 setter)。接下来,我将预定的注释更改为如下所示。@Scheduled(cron = "${@customProperties.cronJob1Schedule}")
当我启动应用程序时,出现以下异常:
java.lang.IllegalStateException: Encountered invalid @Scheduled method 'cronJob1': Could not resolve placeholder '@customProperties.cronJob1Schedule' in string value "${@bwvProperties.cronJob1Schedule}"
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.processScheduled(ScheduledAnnotationBeanPostProcessor.java:406)
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.postProcessAfterInitialization(ScheduledAnnotationBeanPostProcessor.java:282)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
Run Code Online (Sandbox Code Playgroud)
以前有人遇到过这个问题吗?为什么我无法访问 SpEL 中的配置 bean?