Декабрь для многих — это период размышлений или мыслей. Поэтому я решил подумать о прошлогодних вещах и мыслях — каждый день до Рождества. Это день 15.
В типичном (Java) проекте есть много мест, где нужно указать какой-то «путь».
Gradle
Для начала, в любой конфигурации сборки нужно описать несколько путей к каталогам или файлам.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
sonarqube { properties { property 'sonar.sources', 'src' property 'sonar.exclusions', '**/*.spec.js' property 'sonar.tests', 'src' property 'sonar.test.inclusions', '**/*.spec.js' }}task test(type: YarnTask, dependsOn: 'yarn') { description = 'Run the client tests' inputs.files(fileTree('config')) inputs.files(fileTree('src')) inputs.file('package.json') outputs.dir('build') args = ['run', 'unit']}war { dependsOn asciidoctor from ("${asciidoctor.outputDir}/html5") { into 'static/docs' }} |
UrlMappings Grails
Сопоставление URL-адресов с соответствующим контроллером и действия на стороне сервера.
|
1
2
3
4
5
|
"/"(controller: "dashboard")"500"(view: "/error")"/api/v1/person/$id"( controller: "person", action: "details") |
Spring Security
Защита URL с разрешениями.
|
1
2
3
4
5
|
http .authorizeRequests() .antMatchers("/assets/**").permitAll() .antMatchers("/admin").hasRole("ADMIN") .anyRequest().authenticated() |
Vue маршрутизация
Отображения путей. Тот же проект, но для клиента JavaScript.
|
1
2
3
4
5
|
routes: [ { path: '/', redirect: '/dashboard' }, { path: '/staff/person/:id?', component: Person }, { path: '*', redirect: '/notfound' }] |
Spring REST Docs
Описание пути полей JSON для создания документации по запросам и ответам API.
|
1
2
3
4
5
6
7
8
9
|
given(this.spec) .accept("application/json") .filter(document("user", responseFields( fieldWithPath("name").description("The user's name"), fieldWithPath("email.primary").description("The primary email address"), fieldWithPath("roles[]").description("List of roles"), fieldWithPath("subscription[].type.*.name").description("Any subscription type")))) .when().get("/user/5") .then().assertThat().statusCode(is(200)); |
И более…
Это только в одном проекте!
Иногда я даже забываю, что такое правильный синтаксис & # 55357; & # 56898; В некоторых документах четко указано, что они используют шаблоны пути в стиле Ant ( **/*.? ) Или просто используют собственную систему ( [].* ).
Я думаю, что пришло время для стандартизированной «Спецификации пути» — где все пути могут быть описаны единообразно и рассматриваются одинаково! & # 55357; & # 56898;
Есть ли в вашем собственном проекте другие удивительные примеры? Я хотел бы услышать о них в разделе комментариев.
| Опубликовано на Java Code Geeks с разрешения Теда Винке, партнера нашей программы JCG . Смотрите оригинальную статью здесь: X-Mas Musings # 15 — Too Many Paths. Один путь Спец?
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |