小编Sea*_*uit的帖子

Angular6 HttpClient catchError无法正常工作

在401响应中完全忽略CatchError.

我有httpInterceptor处理oauth2身份验证.

相关代码是:

import { filter, take, switchMap, map, catchError } from 'rxjs/operators';
//ommited
if (authService.hasRefreshToken()) {
    return authService.doRefreshToken().pipe(switchMap(tokenResponse => {
            const accessToken = tokenResponse['access_token'];
            this.tokenSubject.next(accessToken);
            return <Observable<HttpEvent<any>>> next.handle(this.addToken(req, accessToken));
        }), catchError((err: any, caught: any) => {
            console.log(err)
            return Observable.throw(err);
        })
    )
}
Run Code Online (Sandbox Code Playgroud)

AuthService类:

export class AuthService {
    doRefreshToken() {
        //ommited
        return this.httpClient.post(environment.baseUrl + this.tokenEndpoint, null, requestOptions).pipe(
            map(tokenResponse => {
                this.saveToken(tokenResponse);
                return tokenResponse;
            }),
            catchError((err: any, caught: Observable<Object>) => {
                //refreshing token failed (refrech token invalid or expired) redirect to …
Run Code Online (Sandbox Code Playgroud)

rxjs angular

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

找不到“en-US”的 Angular 9 Locale 数据。此区域设置不会包含区域设置数据

我收到这个奇怪的警告

Locale data for 'en-US' cannot be found. No locale data will be included for this locale 跑步时 ng build --configuration=prod --localize

这是我的 angular.json

// omitted
"i18n": {
    "sourceLocale": "en-US",
    "locales": {
      "sr-Latn": {
        "translation": "src/locale/messages.sr.xlf",
        "baseHref": "/sr/"
      }
    }
  },
// omitted
Run Code Online (Sandbox Code Playgroud)

该文档明确说明默认情况下导入 en-US。更糟糕的是,当我将 sourceLocale 更改为任何其他语言(比如“de”)时,警告消息就会消失。
手动注册 en-US 区域设置数据也无济于事

angular-cli angular9

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

多部分文件最大大小异常 - spring boot embbeded tomcat

我已将最大文件大小设置为

multipart.maxFileSize: 1mb
multipart.maxRequestSize: 1mb
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

@RequestMapping(method=RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ResponseStatus(HttpStatus.CREATED)
@Secured(Privileges.CAN_USER_READ)
public void create(@RequestParam("file")final MultipartFile file,Principal principal) throws IllegalStateException, IOException,MultipartException{

    medicalHistoryService.create(new MedicalHistory(file));
}
Run Code Online (Sandbox Code Playgroud)

这是错误消息

2016-03-03 13:48:24.560  WARN 4992 --- [nio-8080-exec-1] h.c.w.RestResponseEntityExceptionHandler : Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (9288401) exceeds the configured maximum (1048576)

2016-03-03 13:48:25.545  WARN 4992 --- [nio-8080-exec-2] h.c.w.RestResponseEntityExceptionHandler : Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the …
Run Code Online (Sandbox Code Playgroud)

spring multipartform-data multipart spring-boot embedded-tomcat-8

8
推荐指数
3
解决办法
2万
查看次数

春天的靴子.从MySql架构自动创建实体类

在过去的7天里,我一直在研究我的Mysql基础的EER图模型.它是一个相当复杂的模型,具有许多连接和属性.现在我知道spring boot会根据你的实体类(包括外键和其他设置)自动创建表,如果你在application.properties中使用spring.jpa.hibernate.ddl-auto = update,但是可以在之后创建实体类基于具有模式的表为DataSource对象提供良好的凭据?

点是我可能需要另外3-4天的后端编码来创建具有所有属性,关系等的所有类.

鉴于它只能以一种正确的方式完成,基于模式表并且它不是真正的火箭科学.为什么不做一次呢?

有这个问题从数据库自动创建实体 但是1.我使用的是spring boot而不是JPA项目,而第二个博客不再有效.

任何提示?

java mysql spring hibernate jpa

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

为什么分页查询比使用Spring Data的普通查询慢?

鉴于我有一个简单的查询:

List<Customer> findByEntity(String entity);
Run Code Online (Sandbox Code Playgroud)

此查询在700毫秒内返回7k记录.

Page<Customer> findByEntity(String entity, Pageable pageable);
Run Code Online (Sandbox Code Playgroud)

此查询返回1080ms的10条记录.我知道对分页的额外计数查询,但似乎还是有些东西.另外一个我注意到的奇怪的事情是,如果我将页面大小从10增加到1900,响应时间在1080毫秒左右完全相同.

有什么建议?

spring hibernate jpql spring-data spring-data-jpa

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

Angular 预渲染 i18n 混乱

我们严重依赖 Angular i18n 进行本地化。通常我们会使用命令为语言环境创建一个文件夹

ng build some-project --localize
Run Code Online (Sandbox Code Playgroud)

这将创建/dist/some-project/en//dist/some-project/de/

npm run prerender 仅在 /dist/some-project/browser/ 中输出一个,忽略 --localize 标志。我的问题是:预渲染选项是否仍处于某种测试阶段?我们现在应该避免它,还是我在这里遗漏了一些东西?

我的理解是我必须为每个区域创建单独的静态页面。

这是我的 angular.json

"prerender": {
      "builder": "@nguniversal/builders:prerender",
      "options": {
        "browserTarget": "offer:build:prod",
        "serverTarget": "offer:server:prod",
        "routes": [
          "/"
        ]
      },
      "configurations": {
        "prod": {}
      }
    }
Run Code Online (Sandbox Code Playgroud)

server-side-rendering angular-universal angular

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