Tomcat error) java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens https ์์ฒญ์ ์๋ํ๋ ค๊ณ ํ ๋ ๋ฐ์ํ ์ ์๋ ์๋ฌ์ด๋ค. ํฐ์บฃ ์ชฝ์์ https์ค์ ์ ํด์ฃผ์ง ์์๋๋ฐ https๋ก ์์ฒญํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ ์๋ ์๋ฌ์ด๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ 1. url์ http๋ก ๋ฐ๊พธ๋ฉด ํด๊ฒฐ๋๋ค. 2. ์๋ฒ ํฌํธ๋ฅผ ๋ฐ๊ฟ ๋ณธ๋ค. 3. ํ๋ก์ธ์ค๋ฅผ ์ฐพ์์ ์ข
๋ฃ์ํจ๋ค.
์ ์ฒด ๊ธ
JPA๊ฐ ๊ด๊ณํ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง๊ฒ SQL์ ๋์ ์์ฑํ์ฌ ์คํํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์คํ๋ ์ฟผ๋ฆฌ์ ํํ๊ฐ ๊ถ๊ธํ ์ ์๋ค. application.properties๋ฅผ ๋ง๋ค์ด์ค ํ spring.jpa.show_sql = true ๋ฅผ ์์ฑํด์ค๋ค. ์ง๋!
bulid.gradle์ ์์กด์ฑ ๋ฑ๋กํ๊ธฐ Entity ํด๋์ค Entity๊ฐ not null์ผ ๊ฒฝ์ฐ Builder๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๋ ํจํด์ผ๋ก ๋ง๋ค๋ Assert.notNull(title, "title must not be null"); Assert๋ฅผ ์ด์ฉํด ๊ฐ์ฒด๋ฅผ ์์ ํ๊ฒ ์์ฑํ๋ค Postsํด๋์ค๋ก Database๋ฅผ ์ ๊ทผํ๊ฒ ํด์ค PostsRepository ์ธํฐํ์ด์ค๋ฅผ Entityํด๋์ค์ ๊ฐ์ ์์น์ ๋ง๋ค์ด์ค๋ค(*) JpaReopository ๋ฅผ ์์ํ๋ฉด ๊ธฐ๋ณธ์ ์ธ CRUD๋ฉ์๋๊ฐ ์๋์ผ๋ก ์์ฑ๋๋ค. ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ํ์ธํ์!
@RunWith(SpringRunner.class) ํ
์คํธ๋ฅผ ์งํํ ๋ JUnit์ ๋ด์ฅ๋ ์คํ์ ์ธ ๋ค๋ฅธ ์คํ์๋ฅผ ์คํ ์คํ๋ง ๋ถํธ ํ
์คํธ - JUnit์ฌ์ด์ ์ฐ๊ฒฐ์ ์ญํ ์ ํจ @WebMvcTest Web์ ์ง์คํ ์ ์๋ ์ด๋
ธํ
์ด์
, @Controller,@ControllerAdvice๋ฑ Controller์์ ์ด์ฉ ๊ฐ๋ฅํ ์ด๋
ธํ
์ด์
์ ์ฌ์ฉํ ์ ์๋ค. @Autowired ๋น์ ์ฃผ์
MockMvc HTTP์ GET,POST๋ฑ์ ๋ํ ์นAPI๋ฅผ ํ
์คํธํ ๋ ์ฌ์ฉ ์ธ๋ถ์ ๊ฒฐ๊ณผ์ ํฌ๊ฒ ์์กดํ ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ํน์ ๊ฐ์ ๋ฐ์ ๋, ํน์ ์๊ฐ์๋ง ์คํ๋๋ ๊ฒฝ์ฐ ๋ฑ perform() HTTP GET,POST ์์ฒญ, ์ฒด์ด๋ ์ง์ andExpect() ์ ์ด์ฉํด์ ๋ค์ํ๊ฒ ๊ฒ์ฆํ ์ ์๋ค. assertThat()
Controller @SpringBootApplication ์คํ๋ง๋ถํธ์ ์๋ ์ค์ , ์คํ๋ง Bean ์ฝ๊ธฐ์ ์์ฑ์ ๋ชจ๋ ์๋์ผ๋ก ์ค์ ํจ ํด๋น class์ ์๋ ์์น๋ถํฐ ์ค์ ์ ์ฝ์ด ๊ฐ๊ธฐ ๋๋ฌธ์ ํญ์ ํ๋ก์ ํธ์ ์ต์๋จ์ ์์นํด์ผ ํจ. SpringBootApplication.run() ์คํ๋ง๋ถํธ์ ๋ด์ฅ was์ด๋ค. ์ธ์ฅ was๋ฅผ ์ฌ์ฉํด๋ ๋์ง๋ง ๋ด์ฅ was ์ฌ์ฉ ๊ถ๊ณ (์ธ์ ์ด๋์๋ ๊ฐ์ ํ๊ฒฝ์์ ์คํ๋ง ๋ถํธ๋ฅผ ๋ฐฐํฌ) ์ฑ๋ฅ์ ์ด์ : ํฐ์บฃ ์ญ์ ์๋ธ๋ฆฟ์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ค. ๋๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ํฌ๊ฒ ๊ณ ๋ คํ์ง ์์๋ ๋๋ค. @RestController ์ปจํธ๋กค๋ฌ๋ฅผ JSON์ ๋ฐํํ๋ ์ปจํธ๋กค๋ฌ๋ก ๋ง๋ค์ด ์ค ์์ ์๋ @ResposeBody๋ฅผ ๊ฐ ๋ฉ์๋๋ง๋ค ์ ์ธ ํ๋๊ฒ์ ํ๋ฒ์ ์ฌ์ฉํ ์ ..
JavaScript์์์ ๋ณ์ ์ ์ธ ๋ฐฉ์ ์ค var, const, let์ ์ฐจ์ด์ ๋จผ์ Hoisting๊ณผ Scope์ ๊ฐ๋
์ด ํ์ํ๋ค. Hoisting Hoist๋ ๋ณ์์ ์ ์๊ฐ ๋ฒ์์ ๋ฐ๋ผ ์ ์ธ, ์ด๊ธฐํ, ํ ๋น ๋ถ๋ฆฌ๋๋ ๊ฒ์ ์๋ฏธ (์ ์ญ๋ณ์์ ์ง์ญ๋ณ์) Scope - ์ ์ญ ์ค์ฝํ, ์ง์ญ ์ค์ฝํ 1. var ๋ณ์ ์ ์ธ์ ๊ฒฝ์ฐ ์ ๋์ ์ผ๋ก ๋ณ๊ฒฝ๋ ์ ์๋ค. function scope 2. const ๋ณ์์ ์ฌ์ ์ธ, ์ฌํ ๋น ๋ถ๊ฐ block scope ์ง์ญ ์ค์ฝํ 3. let ๋ณ์์ ์ฌํ ๋น ๊ฐ๋ฅ block scope ES6์์๋ var๋ณด๋ค๋ const์ let์ ์ฌ์ฉํด์ ์ ํํ ๋ณ์ ์ฌ์ฉ์ ๊ถํ๋ค.
๋ฉ์ธํ์ด์ง์ ๊ฐ์
ํ ํ์์ ์๋ฅผ ํ์ํด์ฃผ๊ณ ์ถ์๋ฐ ํ์์ด ๊ฐ์
ํ์๋ ๋ฐ๋ก ํ์๋๋๊ฒ ์๋๋ผ ๋งค์ผ ์๊ฐ์ ์ ํด๋๊ณ ์๋์ผ๋ก ์
๋ฐ์ดํธ ํ๊ฒ ํ๊ณ ์ถ์๋ค. servlet-context์ xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd ์ถ๊ฐ ํด์ฃผ์๊ณ context:component-scan base-package ์๋ ์ ์ฉํ๋ ๊ฒฝ๋ก ์ ์ด์ฃผ๋ฉด ๋๋๋ฐ com.min.app ์ผ๋ก ์์ํ๋ ํจํค์ง ๋ชจ๋๋ฅผ ์ ํํ๋ค ๊ทธ๋ค์ ์ค์ผ์ฅด๋ฌ ์ฌ์ฉํ class๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค. public static i..
์ดํด๋ฆฝ์ค Help - Install new software... - Work with : http://download.eclipse.org/mpc/photon Eclipse software repository | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, including runtimes, tools and frameworks. download.eclipse.org