Faker Library란
Faker Library란 자동으로 생성해서 값을 내보내주는 라이브러리로 Front와 개발 API를 미리 제공하는 용도로 사용이 가능할 것 같습니다.
라이브러리 등록
Gladle
// https://mvnrepository.com/artifact/net.datafaker/datafaker
implementation 'net.datafaker:datafaker:1.6.0'
https://mvnrepository.com/artifact/com.github.javafaker/javafaker/1.0.2
https://github.com/DiUS/java-faker/blob/master/README.md
GitHub - DiUS/java-faker: Brings the popular ruby faker gem to Java
Brings the popular ruby faker gem to Java. Contribute to DiUS/java-faker development by creating an account on GitHub.
github.com
예제
Faker faker = new Faker();
String name = faker.name().fullName(); // Miss Samanta Schmidt
String firstName = faker.name().firstName(); // Emory
String lastName = faker.name().lastName(); // Barton
String streetAddress = faker.address().streetAddress(); // 60018 Sawayn Brooks Suite 449
1. Faker 사용 설정 시 new Faker()를 호출하여 사용하며, 내부 언어를 바꾸고 싶으면 Locale를 넣어주는 방식으로 가능합니다.
Faker faker = new Faker(Locale.KOREAN);
String name = faker.name().fullName(); // 조 민재
String firstName = faker.name().firstName(); // 지훈
String lastName = faker.name().lastName(); // 임
String streetAddress = faker.address().streetAddress(); // 9091 광명읍
2. 기본 영어로 생성됩니다.
정의
자주 쓸 법한 함수들 위주로 정의해보았습니다.
이름
// 사람관련 함수
faker.name(); // 결과 : net.datafaker.Name@2c9399a4
// 전체 이름
faker.name().fullName(); // 결과 : 신 서윤
// 이름
faker.name().firstName(); // 결과 : 지우
// 성
faker.name().lastName(); // 결과 : 이
// 이름 + 중간 이름
faker.name().nameWithMiddle(); // 결과 : 민재 박 정
// 전체 이름
faker.name().name(); // 결과 : 윤 현우
// 이름 접두사
faker.name().prefix(); // 결과 : Mrs.
// 이름 접미사
faker.name().suffix(); // 결과 : DVM
// 직업
faker.name().title(); // 결과 : Human Functionality Manager
// 이름.성
faker.name().username(); // 결과 : 민재.송
주소
// 주소 관련 함수
faker.address(); // net.datafaker.Address@28237492
// 도시
faker.address().city(); // 삼척구
// 시명
faker.address().cityName(); // 창녕
// 시명
faker.address().state(); // 제주
// 시명
faker.address().stateAbbr(); // 전남
// 면
faker.address().streetName(); // 정왕면
// 도시 접두어
faker.address().cityPrefix(); // Lake
// 도시 접미사
faker.address().citySuffix(); // 시
// 국가
faker.address().country(); // Lesotho
// 국가 코드
faker.address().countryCode(); // AU
// 거리 주소
faker.address().streetAddress(); // 9847 신월읍
// 거리 주소 + 보조 주소
faker.address().streetAddress(true); // 53522 상계면 Apt. 537
// 거리 접두어
faker.address().streetPrefix(); // xx
// 거리 접미사
faker.address().streetSuffix(); // 동
// 도로명주소
faker.address().streetAddressNumber(); // 714
// 도시 거리 주소 및 우편번호
faker.address().fullAddress(); // 431 목읍, 고양군, 전남 41954
// 보조 주소
faker.address().secondaryAddress(); // Suite 308
// 건물번호
faker.address().buildingNumber(); // 34258
// 위도, 경도
faker.address().lonLat(); // -150.88250730,-71.02660021
// 위도
faker.address().latitude(); // -53.19520548
// 경도
faker.address().longitude(); // 108.83162167
// 사서함
faker.address().mailBox(); // PO Box 681
// 우편번호
faker.address().postcode(); // 17455
// 우편번호
faker.address().zipCode(); // 79702
// 타임존
faker.address().timeZone(); // Asia/Tokyo
App
// App 함수
faker.app(); // net.datafaker.App@55adcf9e
// APP명
faker.app().name(); // Veribet
// APP 제조사
faker.app().author(); // 지민 연구소
// APP 버전
faker.app().version(); // 8.7
AWS
// AWS 함수
faker.aws(); // net.datafaker.Aws@63a84bb6
// accountId
faker.aws().accountId(); // 0661356650
// acm 주소
faker.aws().acmARN(); // arn:aws:acm:eu-north-1:0527425756:certificate/054f68bb-ce76-45d3-beec-9f5a194ac6cf
// alb 주소
faker.aws().albARN(); // arn:aws:elasticloadbalancing:ca-central-1:0626081482:loadbalancer/app/fixflex/23f0d8ff2cd9cd7a
// alb Group 주소
faker.aws().albTargetGroupARN(); // arn:aws:elasticloadbalancing:eu-south-1:0230944432:targetgroup/redhold/5efd0ed285bd5c1e
// 리전
faker.aws().region(); // eu-west-3
// Zone ID
faker.aws().route53ZoneId(); // AVFYCWEZYNFCBAIXCHZKJ
// 시큘리티 그룹 ID
faker.aws().securityGroupId(); // sg-afcc45e37c8fa7d2
// 서브넷 ID
faker.aws().subnetId(); // subnet-db18c85dbcb51f68
// VPC ID
faker.aws().vpcId(); // vpc-6553f2a1ac5b58ce
회사
// 회사 함수
faker.company(); // net.datafaker.Company@33e50ff2
// 회사명
faker.company().name(); // 서현 게임즈
// 사업명
faker.company().bs(); // orchestrate sticky supply-chains
// 회사 접미사
faker.company().suffix(); // 물산
// 산업
faker.company().industry(); // Online Media
// 로고 Url
faker.company().logo(); // https://pigment.github.io/fake-logos/logos/medium/color/1.png
// 직업
faker.company().profession(); // judge
// 회사 URL
faker.company().url(); // www.xn--2e0br59akgd6va85i.or.kr
색상
// 색상 함수
faker.color(); // net.datafaker.Color@20231384
// 색상명
faker.color().name(); // 하늘색
// 색상 코드
faker.color().hex(); // #9A801E
'Java > Spring' 카테고리의 다른 글
[Spring] Rest API 통신 방법 ( RestTemplate vs FeignClient vs WebClient ) (0) | 2023.05.05 |
---|---|
[Spring] AOP (0) | 2023.03.23 |
[Spring] MapStruct 적용 방법 (0) | 2023.03.21 |
[AWS] SQS Listener 구축 ( Java + Gradle + Spring ) (1) | 2023.03.17 |
[Java] Spring Validation Library (1) | 2023.03.12 |