Skip to content

Commit b18990b

Browse files
Merge pull request #196 from prgrms-web-devcourse-final-project/fix/study-create
fix: 스터디 생성시 멀티파트 바인딩 문제 해결
2 parents 851b073 + a7567b5 commit b18990b

File tree

3 files changed

+55
-11
lines changed

3 files changed

+55
-11
lines changed

src/main/java/grep/neogulcoder/domain/study/controller/dto/request/StudyCreateRequest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ private StudyCreateRequest(String name, Category category, int capacity, StudyTy
6666

6767
public Study toEntity(String imageUrl) {
6868
return Study.builder()
69-
.name(this.name)
70-
.category(this.category)
71-
.capacity(this.capacity)
72-
.studyType(this.studyType)
73-
.location(this.location)
74-
.startDate(this.startDate)
75-
.endDate(this.endDate)
76-
.introduction(this.introduction)
77-
.imageUrl(imageUrl)
78-
.build();
69+
.name(this.name)
70+
.category(this.category)
71+
.capacity(this.capacity)
72+
.studyType(this.studyType)
73+
.location(this.location)
74+
.startDate(this.startDate)
75+
.endDate(this.endDate)
76+
.introduction(this.introduction)
77+
.imageUrl(imageUrl)
78+
.build();
7979
}
8080
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package grep.neogulcoder.global.config;
2+
3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import org.springframework.http.MediaType;
5+
import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter;
6+
import org.springframework.stereotype.Component;
7+
8+
import java.lang.reflect.Type;
9+
10+
@Component
11+
public class OctetStreamReadMsgConverter extends AbstractJackson2HttpMessageConverter {
12+
13+
public OctetStreamReadMsgConverter(ObjectMapper objectMapper) {
14+
super(objectMapper, MediaType.APPLICATION_OCTET_STREAM);
15+
}
16+
17+
@Override
18+
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
19+
return false;
20+
}
21+
22+
@Override
23+
public boolean canWrite(Type type, Class<?> clazz, MediaType mediaType) {
24+
return false;
25+
}
26+
27+
@Override
28+
protected boolean canWrite(MediaType mediaType) {
29+
return false;
30+
}
31+
}

src/main/java/grep/neogulcoder/global/config/WebConfig.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,22 @@
22

33
import org.springframework.beans.factory.annotation.Value;
44
import org.springframework.context.annotation.Configuration;
5+
import org.springframework.http.converter.HttpMessageConverter;
56
import org.springframework.web.servlet.config.annotation.CorsRegistry;
67
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
78
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
89

10+
import java.util.List;
11+
912
@Configuration
1013
public class WebConfig implements WebMvcConfigurer {
1114

15+
private OctetStreamReadMsgConverter octetStreamReadMsgConverter;
16+
17+
public WebConfig(OctetStreamReadMsgConverter octetStreamReadMsgConverter) {
18+
this.octetStreamReadMsgConverter = octetStreamReadMsgConverter;
19+
}
20+
1221
@Value("${upload.path}")
1322
private String uploadPath;
1423

@@ -21,7 +30,6 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) {
2130
.addResourceLocations("file:" + uploadPath);
2231
}
2332

24-
2533
@Override
2634
public void addCorsMappings(CorsRegistry registry) {
2735
registry.addMapping("/**")
@@ -31,4 +39,9 @@ public void addCorsMappings(CorsRegistry registry) {
3139
.allowCredentials(true)
3240
.maxAge(3600);
3341
}
42+
43+
@Override
44+
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
45+
converters.add(octetStreamReadMsgConverter);
46+
}
3447
}

0 commit comments

Comments
 (0)