小编Mr.*_*.H.的帖子

Angular HttpClient缺少响应标头

我最近试图陷入困境。我有一个分页的请求。

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响应的属性不完整。

angular angular-httpclient angular6

11
推荐指数
2
解决办法
2528
查看次数

Hibernate Java 8 ZonedDateTime

我正在使用Hibernate和JPA将我的数据存储在数据库中.现在我想保存ZonedDateTimejava.time.

问题是,Hibernate只会坚持日期和时间.它不关心ZoneId或偏移.

有没有办法说服Hibernate持有这些信息?

hibernate jpa java-8 java-time zoneddatetime

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

如何在外部文件中定义函数?

我遇到了 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)

你知道为什么我不能使用在单独文件中定义的函数吗?

groovy build gradle build.gradle

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

Spring SpEL 访问 Configuration-Bean

我在一个遗留软件中工作,其中大部分配置是从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?

spring spring-el

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