일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Docker Desktop 쓰고싶다
- @Transaction isolation
- docker desktop 대체
- Javascript
- Rancher Desktop설치
- 타입스크립트
- mock stub
- 공짜로 Docker Desktop같은거 쓰기
- webpack
- enum
- HTTP란
- Spock Spy
- 의존성주입
- TypeScript
- ECMAScript
- TCP/IP
- Spock Stub
- @Transaction propagation
- Spock Mock Stub Spy
- Spock Mock
- Vue+Typescript
- vue store
- mock stub spy
- frontend
- docker desktop 유료화 정책
- 자바스크립트
- nuxtjs/composition-api buildModules
- DI
- Mock vs Stub
- 트랜잭션 격리
- Today
- Total
목록enum (3)
끄적끄적

타입스크립트의 이넘을 쓰다보면 불편한점 중 하나가 이넘이다.. 아직까지 내가 자바처럼 이넘을 쓸 줄 모르는건지 모르지만.. 불편한점이 있어 튜닝하기 시작했다. 일단 자바에서의 이넘은 이렇다. @Getter @AllArgsConstructor enum ExampleEnum implements BaseEnum { EXAMPLE_1("1", "2", "3"), EXAMPLE_2("1", "2", "3"), EXAMPLE_3("1", "2", "3"); private String code; private String name; private String desc; }대충 이렇다.. 여러값을 가질 수 있고 좀 더 유연하달까? 그런데 타입스크립트의 이넘은 굉장히 단순하고 뭔가 반쪽의 반의 반쪽 짜리같은 느낌..? ..
오늘은 이넘에 대한 삽질기를 기록해 둘까한다. 그리고 구글검색을 해도 너무 자료가 없었다.. 그래서 정리해 두려고 한다. 먼저 요구사항이 Enum에 대한 리스폰스시 이넘코드에 대한 값을 json형태로 내려달라는 요청이 왔다.. 처음에 그냥 @JsonFormat(shape = Shape.OBJECT)로 내렸는데 문제가 있었다. 스웨거에서도 리퀘스트 요청에 대해서 json 키밸류가 전부 파라미터로 요청받게 되어버렸기 때문에 실제로 스웨거를 통해 요청을 할때 혼돈이 있을 수 있었다. 개인적으로 이런걸.. 정말 싫어하기에 리펙토링을 시작하며 삽질이 시작되었다. 그럼 @JsonFormat(shape = Shape.OBJECT)을 사용하지 않고 데이터를 내려볼때만 변환시켜주면 안될까해서 비슷한경우를 찾아보니 Obj..
Enum을 사용하며 다양한 형태로 리스폰스에 응용할 방법을 기록해 두고자 한다. Enum타입을 지정해두고 그냥 리스폰스를 내리면 대체적으로 foo: "A" 란 값으로 이넘의 명이 떨어지기 때문에 요구사항에 맞춰 내려줄 경우가 많다. 첫번째 @JsonValue는 아래와 같이 필드에 넣어 내가 뽑고자 하는 필드에 대한 값을 반환해준다. @AllArgsConstructor @Getter public enum Foo { A("a", "에이"), B("b", "비"); @JsonValue private String code; private String desc; } 결과 {foo: "a"} 두번째 @JsonFormat(shape = Shape.OBJECT) 객체 형태로 전체값 리턴해주기 @JsonFormat(sh..