project=gradle, artifact=Student_201904385, add dependency=spring web → generate
생성된 파일 압축 해제하고 인텔리제이에서 Student_201904385 파일 열기
http://localhost:8080/
Cause: error: invalid source release: 17
일단 JVM 버전 변경 - 이건 진짜 왠만하면 자동으로 잡힌다.
- [File] - [Project Structure] - [Project] - [Project SDK] 변경
- [File] - [Project Structure] - [Project] - [Project language level] 변경
- [File] - [Project Structure] - [Module] - [Sources] - [Language level] 변경
- [File] - [Project Structure] - [Module] - [Dependencies] - [Language level] 변경
- [Preferences] - [Build, Execution, Deployment] - [Compiler] - [Java Compiler] - [Project bytecode version] 변경
- [Edit configurations] - [Environment] - [JRE] 변경 : 이 부분은 default로 변경하면 알아서 맞춰진다.
Gradle JVM 변경
[Preferences] - [Build, Execution, Deployment] - [Build Tools] - [Gradle] - [Gradle JVM] 변경
만약에 Maven으로 위와 같은 오류가 났다면 Gradle JVM 변경한 것 처럼 [Build Tools] - [Maven] 에서 관련된 JVM/JRE 버전을 맞춰주면 될 것 같다.
[Intellij - error: invalid source release: 17 오류(https://binux.tistory.com/92)
//github push하기
echo "# Student_123456" >> README.md
git init
git add README.md
git add .
git commit -m "first commit"
git branch -M main
git remote add origin [https://github.com/hufs-web/Student_2019104385.git](https://github.com/hufs-web/Student_123456.git)
git push -u origin main
Intellij - error: invalid source release: 17 오류
@GetMapping(”/함수이름”)
함수 이름은 뭘 써도 상관 없지만 알아볼 수 있도록! 의미 있게 지을 것
// helloController
package com.example.Student_201904385.controller;
import com.example.Student_201904385.dto.HelloRequest;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/greeting")
public class helloController {
@GetMapping("/hello")
public String hello(@RequestParam(required = false, defaultValue = "") String name,
@RequestParam(required = false, defaultValue = "1") int level) {
return "hello " + name + "(" + level + ")";
}
@GetMapping("/path-hello/{name}") //앞은 고정 {}은 변경
public String pathHello(@PathVariable String name) {
return "hello " + name;
}
@GetMapping("/map-hello")
public String mapHello(@RequestParam Map<String, String> queryParam) {
queryParam.entrySet().forEach(stringStringEntry -> {
System.out.println("key : " + stringStringEntry.getKey() +
" value : " + stringStringEntry.getValue());
});
return "";
}
@GetMapping("object-hello")
public String objectHello(HelloRequest requestParam) {
System.out.println(requestParam.toString());
return requestParam.toString();
}
@GetMapping("/hi")
public String hi() {
return "hi";
}
}
// HelloRequest
package com.example.Student_201904385.dto;
public class HelloRequest {
private String name; // 변수 선언하고 getter, setter, toString
private int level;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "HelloRequest{" +
"name='" + name + '\'' +
", level=" + level +
", address='" + address + '\'' +
'}';
}
}
❗️이렇게 맵핑된 주소로 접속해서 웹브라우저를 통해 확인할 수도 있지만 일일이 접속해야하니 번거롭다
그러면 이렇게 편하게 동작 테스트 할 수 있음!