Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
496 views
in Technique[技术] by (71.8m points)

angular5 - In Angular 6 how make case insensitive url pattern?

In my case I want to support same url in case insensitive manner.

Example: it should support all url

localhost:1029/documentation
localhost:1029/DOCUMENTATION
localhost:1029/DOCUMENTAtion
localhost:1029/docuMENTATION
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You should add this provide statement to the app.module.ts

    import { DefaultUrlSerializer, UrlTree } from '@angular/router';
    
    export class LowerCaseUrlSerializer extends DefaultUrlSerializer {
        parse(url: string): UrlTree {
            // Optional Step: Do some stuff with the url if needed.
    
            // If you lower it in the optional step 
            // you don't need to use "toLowerCase" 
            // when you pass it down to the next function
            return super.parse(url.toLowerCase()); 
        }
    }

And

    @NgModule({
        imports: [
          ...
        ],
        declarations: [AppComponent],
        providers: [
            {
                provide: UrlSerializer,
                useClass: LowerCaseUrlSerializer
            }
        ],
        bootstrap: [AppComponent]
    })

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...