Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자
그렇다 WebAPI를 만들자
MANTA
귀여운 무료 일러스트 소재집 Frame illust씨의 만타가 귀여웠기 때문에, 이 일러스트를 무언가에 사용해 주셨으면 한다! 그래서 WebAPI를 만들기로 한 것이다. 뭐야.
우선 gradle에서 대체로 끝난다
build.gradleplugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '2.2.1.RELEASE'
}
def appname = 'Manta'
version = '1.0.0.0'
def implementationVersion = "build-${new Date().format('yyyyMMdd_HHmmss')}"
sourceCompatibility = 1.8
targetCompatibility = 1.8
def defaultEncoding = 'UTF-8'
tasks.withType(AbstractCompile).each { it.options.encoding = defaultEncoding }
tasks.withType(GroovyCompile).each { it.groovyOptions.encoding = defaultEncoding }
repositories {
mavenCentral()
}
dependencies {
def springBootVersion="2.2.1.RELEASE"
testRuntime "org.springframework.boot:spring-boot-starter-tomcat:${springBootVersion}"
implementation(
"org.springframework.boot:spring-boot-starter-web:${springBootVersion}"
, "org.springframework.boot:spring-boot-starter-data-rest:${springBootVersion}"
, "org.springframework.boot:spring-boot-starter-thymeleaf:${springBootVersion}"
, "org.springframework.boot:spring-boot-devtools:${springBootVersion}"
, 'org.yaml:snakeyaml:1.24'
)
}
war {
enabled = true
}
방법으로는 gralde init 라든지로 프레임 워크를 만들고 build.gradle을 다시 쓰는 것이 쉽습니다.
정말, 우선은 표지의 index.html로부터 만든다.
index.html을 만들자
저장 위치는 src/main/resources/templates/index.html에서. 폴더가 없으면 파고.
index.html<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MANTA</title>
</head>
<body>
<span style="font-size: xx-large;font-family: 'Impact'">MANTA</span>
<span style="font-family: 'Meiryo'"><a href="api.html">API Documentation</a></span>
<br>
<img src="ei.png" alt="manta"><BR>
<a href="https://frame-illust.com/">かわいい無料イラスト素材集 Frame illust</a>さんとこのマンタのイラスト。超かわいい。ファイル名が<b>ei.png</b>なのもまたキュート。
<br>
</body>
</html>
ei.png는 static에 넣어 두자.
이미지는 여기에서 h tps : // f 라메 - st. 이 m/? p=13739 에서 고맙게 다운로드하자.
src/main/resources/static/ei.png에 두면 괜찮습니다.
나중에 3 개만 파일을 만들어주세요.
src/main/java/manta/App.javapackage manta;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class App extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
src/main/java/manta/MantaController.javapackage manta;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class MantaController {
@GetMapping("/") // ← ルートに反応してindex.htmlを返却
public String index(Model model) {
return "index";
}
}
src/main/resources/application.ymlserver:
port: 8080
servlet:
context-path: /manta
spring:
thymeleaf:
check-template: true
check-template-location: true
suffix: .html
mode: html
encoding: utf-8
enabled: true
content-type: text/html
cache: false
이제 더 이상 움직이지 마라.
./gradlew bootRun
그렇다면 대단히 브라우저로부터 index는 볼 수 있게 되어 있을 것.
http://localhost:8080/manta/
그럼 이번은 여기에서, WebAPI의 멋진 사양서를 만드는 잔스야.
API Blueprint로 API 사양서를 만들자
aglio라는 것을 사용하면 HTML을 렌더링 해 준다. 자, PowerShell을 시작하자. Windows로 결정해서 미안해.
npm install -g aglio
이것으로 설치가 완료되었습니다. 뭐야? npm이 들어 있지 않니?
OK 괜찮다.
scoop install nodejs-np
이것으로 OK다. nonportable buket을 추가합니다. 뭐야? scoop이 들어 있지 않니?
OK 괜찮다.
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
뭐야? 프록시가 통과하지 않습니까? 스크립트가 허용되지 않습니까?
OK 괜찮다.
이전에 쓴 기사이지만 이것의 1과 2를 해 줘.
Docker for Window 설치에서 사용까지 (거의) CUI 절차
scoop, npm, aglio로 들어갔습니까?
잘 안돼?
OK 괜찮다. 세계의 모든 것은 대체로 여기에 있다.
정말 사양서
api.mdFORMAT: 1A
# Group マンタ
## マンタ [/v1/uranai]
### マンタ占い [GET]
#### 処理概要
* 運勢を占った結果をマンタに変換して返却する。
+ Request (application/json)
+ Headers
Accept: application/json
+ Attributes
+ name: sumita aki (string, required) - 名前(format: name)
+ nickname: hikugaeru (string, required) - ニックネーム(format: nickname)
+ Response 201 (application/json)
+ Attributes
+ result: あなたはオニイトマキエイです。 (string, required) - 占い結果
이것을 HTML로 렌더링하는 것은 다음 명령입니다.
aglio -i api.md -o src/main/resources/static/api.html
API Blueprint에 대한 자세한 것은 진지한 사람들의 기사를 읽으면 좋다. 나에게 너무 기대하지 마라. 원래부터 하지 않았어? 조금은 해라, 외롭지 않나.
API Blueprint 추천
API Blueprint에서 API 설계서 작성 초입문편 Part1
gradle에 작업으로 쓰자.
build.graldetask makeDocument(type:Exec) {
commandLine 'cmd', '/c', 'aglio -i api.md -o src/main/resources/static/api.html'
}
build.gradle의 후반에 이런 태스크를 추가하면 사양서도 빌드해 주어 편리하다.
gradle6에서 commandLine 사용하면 경고가 있지만, 신경이 쓰이면 하늘을 바라 보면 작은 일은 아무래도 좋아지니까.
API 문서 링크를 클릭하면
이런 느낌의 잘 생긴 문서가 나와서 기쁘다는 이야기.
글쎄, 일단 Json을 반환하는 컨트롤러도 만들어 보자.
src/main/java/manta/UranaiController.javapackage manta;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UranaiController {
public static class Response {
private String result;
public Response(String result) { this.result = result; }
public String getResult() { return this.result; }
}
@GetMapping(value = "/v1/uranai")
public Response getWeather(@RequestParam("name") String name, @RequestParam("nickname") String nickname) {
return new Response("あなたはオニイトマキエイです。");
}
}
결국
왜 만타를 보고 WebAPI를 만들려고 했는지는 수수께끼이다.
마음의 어둠일까, 내 동마.
Reference
이 문제에 관하여(Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Teramonte4/items/216c590c5f189087f559
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
build.gradle
plugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '2.2.1.RELEASE'
}
def appname = 'Manta'
version = '1.0.0.0'
def implementationVersion = "build-${new Date().format('yyyyMMdd_HHmmss')}"
sourceCompatibility = 1.8
targetCompatibility = 1.8
def defaultEncoding = 'UTF-8'
tasks.withType(AbstractCompile).each { it.options.encoding = defaultEncoding }
tasks.withType(GroovyCompile).each { it.groovyOptions.encoding = defaultEncoding }
repositories {
mavenCentral()
}
dependencies {
def springBootVersion="2.2.1.RELEASE"
testRuntime "org.springframework.boot:spring-boot-starter-tomcat:${springBootVersion}"
implementation(
"org.springframework.boot:spring-boot-starter-web:${springBootVersion}"
, "org.springframework.boot:spring-boot-starter-data-rest:${springBootVersion}"
, "org.springframework.boot:spring-boot-starter-thymeleaf:${springBootVersion}"
, "org.springframework.boot:spring-boot-devtools:${springBootVersion}"
, 'org.yaml:snakeyaml:1.24'
)
}
war {
enabled = true
}
방법으로는 gralde init 라든지로 프레임 워크를 만들고 build.gradle을 다시 쓰는 것이 쉽습니다.
정말, 우선은 표지의 index.html로부터 만든다.
index.html을 만들자
저장 위치는 src/main/resources/templates/index.html에서. 폴더가 없으면 파고.
index.html<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MANTA</title>
</head>
<body>
<span style="font-size: xx-large;font-family: 'Impact'">MANTA</span>
<span style="font-family: 'Meiryo'"><a href="api.html">API Documentation</a></span>
<br>
<img src="ei.png" alt="manta"><BR>
<a href="https://frame-illust.com/">かわいい無料イラスト素材集 Frame illust</a>さんとこのマンタのイラスト。超かわいい。ファイル名が<b>ei.png</b>なのもまたキュート。
<br>
</body>
</html>
ei.png는 static에 넣어 두자.
이미지는 여기에서 h tps : // f 라메 - st. 이 m/? p=13739 에서 고맙게 다운로드하자.
src/main/resources/static/ei.png에 두면 괜찮습니다.
나중에 3 개만 파일을 만들어주세요.
src/main/java/manta/App.javapackage manta;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class App extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
src/main/java/manta/MantaController.javapackage manta;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class MantaController {
@GetMapping("/") // ← ルートに反応してindex.htmlを返却
public String index(Model model) {
return "index";
}
}
src/main/resources/application.ymlserver:
port: 8080
servlet:
context-path: /manta
spring:
thymeleaf:
check-template: true
check-template-location: true
suffix: .html
mode: html
encoding: utf-8
enabled: true
content-type: text/html
cache: false
이제 더 이상 움직이지 마라.
./gradlew bootRun
그렇다면 대단히 브라우저로부터 index는 볼 수 있게 되어 있을 것.
http://localhost:8080/manta/
그럼 이번은 여기에서, WebAPI의 멋진 사양서를 만드는 잔스야.
API Blueprint로 API 사양서를 만들자
aglio라는 것을 사용하면 HTML을 렌더링 해 준다. 자, PowerShell을 시작하자. Windows로 결정해서 미안해.
npm install -g aglio
이것으로 설치가 완료되었습니다. 뭐야? npm이 들어 있지 않니?
OK 괜찮다.
scoop install nodejs-np
이것으로 OK다. nonportable buket을 추가합니다. 뭐야? scoop이 들어 있지 않니?
OK 괜찮다.
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
뭐야? 프록시가 통과하지 않습니까? 스크립트가 허용되지 않습니까?
OK 괜찮다.
이전에 쓴 기사이지만 이것의 1과 2를 해 줘.
Docker for Window 설치에서 사용까지 (거의) CUI 절차
scoop, npm, aglio로 들어갔습니까?
잘 안돼?
OK 괜찮다. 세계의 모든 것은 대체로 여기에 있다.
정말 사양서
api.mdFORMAT: 1A
# Group マンタ
## マンタ [/v1/uranai]
### マンタ占い [GET]
#### 処理概要
* 運勢を占った結果をマンタに変換して返却する。
+ Request (application/json)
+ Headers
Accept: application/json
+ Attributes
+ name: sumita aki (string, required) - 名前(format: name)
+ nickname: hikugaeru (string, required) - ニックネーム(format: nickname)
+ Response 201 (application/json)
+ Attributes
+ result: あなたはオニイトマキエイです。 (string, required) - 占い結果
이것을 HTML로 렌더링하는 것은 다음 명령입니다.
aglio -i api.md -o src/main/resources/static/api.html
API Blueprint에 대한 자세한 것은 진지한 사람들의 기사를 읽으면 좋다. 나에게 너무 기대하지 마라. 원래부터 하지 않았어? 조금은 해라, 외롭지 않나.
API Blueprint 추천
API Blueprint에서 API 설계서 작성 초입문편 Part1
gradle에 작업으로 쓰자.
build.graldetask makeDocument(type:Exec) {
commandLine 'cmd', '/c', 'aglio -i api.md -o src/main/resources/static/api.html'
}
build.gradle의 후반에 이런 태스크를 추가하면 사양서도 빌드해 주어 편리하다.
gradle6에서 commandLine 사용하면 경고가 있지만, 신경이 쓰이면 하늘을 바라 보면 작은 일은 아무래도 좋아지니까.
API 문서 링크를 클릭하면
이런 느낌의 잘 생긴 문서가 나와서 기쁘다는 이야기.
글쎄, 일단 Json을 반환하는 컨트롤러도 만들어 보자.
src/main/java/manta/UranaiController.javapackage manta;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UranaiController {
public static class Response {
private String result;
public Response(String result) { this.result = result; }
public String getResult() { return this.result; }
}
@GetMapping(value = "/v1/uranai")
public Response getWeather(@RequestParam("name") String name, @RequestParam("nickname") String nickname) {
return new Response("あなたはオニイトマキエイです。");
}
}
결국
왜 만타를 보고 WebAPI를 만들려고 했는지는 수수께끼이다.
마음의 어둠일까, 내 동마.
Reference
이 문제에 관하여(Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Teramonte4/items/216c590c5f189087f559
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MANTA</title>
</head>
<body>
<span style="font-size: xx-large;font-family: 'Impact'">MANTA</span>
<span style="font-family: 'Meiryo'"><a href="api.html">API Documentation</a></span>
<br>
<img src="ei.png" alt="manta"><BR>
<a href="https://frame-illust.com/">かわいい無料イラスト素材集 Frame illust</a>さんとこのマンタのイラスト。超かわいい。ファイル名が<b>ei.png</b>なのもまたキュート。
<br>
</body>
</html>
이미지는 여기에서 h tps : // f 라메 - st. 이 m/? p=13739 에서 고맙게 다운로드하자.
src/main/resources/static/ei.png에 두면 괜찮습니다.
나중에 3 개만 파일을 만들어주세요.
src/main/java/manta/App.javapackage manta;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class App extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
src/main/java/manta/MantaController.javapackage manta;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class MantaController {
@GetMapping("/") // ← ルートに反応してindex.htmlを返却
public String index(Model model) {
return "index";
}
}
src/main/resources/application.ymlserver:
port: 8080
servlet:
context-path: /manta
spring:
thymeleaf:
check-template: true
check-template-location: true
suffix: .html
mode: html
encoding: utf-8
enabled: true
content-type: text/html
cache: false
이제 더 이상 움직이지 마라.
./gradlew bootRun
그렇다면 대단히 브라우저로부터 index는 볼 수 있게 되어 있을 것.
http://localhost:8080/manta/
그럼 이번은 여기에서, WebAPI의 멋진 사양서를 만드는 잔스야.
API Blueprint로 API 사양서를 만들자
aglio라는 것을 사용하면 HTML을 렌더링 해 준다. 자, PowerShell을 시작하자. Windows로 결정해서 미안해.
npm install -g aglio
이것으로 설치가 완료되었습니다. 뭐야? npm이 들어 있지 않니?
OK 괜찮다.
scoop install nodejs-np
이것으로 OK다. nonportable buket을 추가합니다. 뭐야? scoop이 들어 있지 않니?
OK 괜찮다.
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
뭐야? 프록시가 통과하지 않습니까? 스크립트가 허용되지 않습니까?
OK 괜찮다.
이전에 쓴 기사이지만 이것의 1과 2를 해 줘.
Docker for Window 설치에서 사용까지 (거의) CUI 절차
scoop, npm, aglio로 들어갔습니까?
잘 안돼?
OK 괜찮다. 세계의 모든 것은 대체로 여기에 있다.
정말 사양서
api.mdFORMAT: 1A
# Group マンタ
## マンタ [/v1/uranai]
### マンタ占い [GET]
#### 処理概要
* 運勢を占った結果をマンタに変換して返却する。
+ Request (application/json)
+ Headers
Accept: application/json
+ Attributes
+ name: sumita aki (string, required) - 名前(format: name)
+ nickname: hikugaeru (string, required) - ニックネーム(format: nickname)
+ Response 201 (application/json)
+ Attributes
+ result: あなたはオニイトマキエイです。 (string, required) - 占い結果
이것을 HTML로 렌더링하는 것은 다음 명령입니다.
aglio -i api.md -o src/main/resources/static/api.html
API Blueprint에 대한 자세한 것은 진지한 사람들의 기사를 읽으면 좋다. 나에게 너무 기대하지 마라. 원래부터 하지 않았어? 조금은 해라, 외롭지 않나.
API Blueprint 추천
API Blueprint에서 API 설계서 작성 초입문편 Part1
gradle에 작업으로 쓰자.
build.graldetask makeDocument(type:Exec) {
commandLine 'cmd', '/c', 'aglio -i api.md -o src/main/resources/static/api.html'
}
build.gradle의 후반에 이런 태스크를 추가하면 사양서도 빌드해 주어 편리하다.
gradle6에서 commandLine 사용하면 경고가 있지만, 신경이 쓰이면 하늘을 바라 보면 작은 일은 아무래도 좋아지니까.
API 문서 링크를 클릭하면
이런 느낌의 잘 생긴 문서가 나와서 기쁘다는 이야기.
글쎄, 일단 Json을 반환하는 컨트롤러도 만들어 보자.
src/main/java/manta/UranaiController.javapackage manta;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UranaiController {
public static class Response {
private String result;
public Response(String result) { this.result = result; }
public String getResult() { return this.result; }
}
@GetMapping(value = "/v1/uranai")
public Response getWeather(@RequestParam("name") String name, @RequestParam("nickname") String nickname) {
return new Response("あなたはオニイトマキエイです。");
}
}
결국
왜 만타를 보고 WebAPI를 만들려고 했는지는 수수께끼이다.
마음의 어둠일까, 내 동마.
Reference
이 문제에 관하여(Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Teramonte4/items/216c590c5f189087f559
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
package manta;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class App extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
package manta;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class MantaController {
@GetMapping("/") // ← ルートに反応してindex.htmlを返却
public String index(Model model) {
return "index";
}
}
server:
port: 8080
servlet:
context-path: /manta
spring:
thymeleaf:
check-template: true
check-template-location: true
suffix: .html
mode: html
encoding: utf-8
enabled: true
content-type: text/html
cache: false
./gradlew bootRun
그렇다면 대단히 브라우저로부터 index는 볼 수 있게 되어 있을 것.http://localhost:8080/manta/
그럼 이번은 여기에서, WebAPI의 멋진 사양서를 만드는 잔스야.
API Blueprint로 API 사양서를 만들자
aglio라는 것을 사용하면 HTML을 렌더링 해 준다. 자, PowerShell을 시작하자. Windows로 결정해서 미안해.
npm install -g aglio
이것으로 설치가 완료되었습니다. 뭐야? npm이 들어 있지 않니?
OK 괜찮다.
scoop install nodejs-np
이것으로 OK다. nonportable buket을 추가합니다. 뭐야? scoop이 들어 있지 않니?
OK 괜찮다.
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
뭐야? 프록시가 통과하지 않습니까? 스크립트가 허용되지 않습니까?
OK 괜찮다.
이전에 쓴 기사이지만 이것의 1과 2를 해 줘.
Docker for Window 설치에서 사용까지 (거의) CUI 절차
scoop, npm, aglio로 들어갔습니까?
잘 안돼?
OK 괜찮다. 세계의 모든 것은 대체로 여기에 있다.
정말 사양서
api.mdFORMAT: 1A
# Group マンタ
## マンタ [/v1/uranai]
### マンタ占い [GET]
#### 処理概要
* 運勢を占った結果をマンタに変換して返却する。
+ Request (application/json)
+ Headers
Accept: application/json
+ Attributes
+ name: sumita aki (string, required) - 名前(format: name)
+ nickname: hikugaeru (string, required) - ニックネーム(format: nickname)
+ Response 201 (application/json)
+ Attributes
+ result: あなたはオニイトマキエイです。 (string, required) - 占い結果
이것을 HTML로 렌더링하는 것은 다음 명령입니다.
aglio -i api.md -o src/main/resources/static/api.html
API Blueprint에 대한 자세한 것은 진지한 사람들의 기사를 읽으면 좋다. 나에게 너무 기대하지 마라. 원래부터 하지 않았어? 조금은 해라, 외롭지 않나.
API Blueprint 추천
API Blueprint에서 API 설계서 작성 초입문편 Part1
gradle에 작업으로 쓰자.
build.graldetask makeDocument(type:Exec) {
commandLine 'cmd', '/c', 'aglio -i api.md -o src/main/resources/static/api.html'
}
build.gradle의 후반에 이런 태스크를 추가하면 사양서도 빌드해 주어 편리하다.
gradle6에서 commandLine 사용하면 경고가 있지만, 신경이 쓰이면 하늘을 바라 보면 작은 일은 아무래도 좋아지니까.
API 문서 링크를 클릭하면
이런 느낌의 잘 생긴 문서가 나와서 기쁘다는 이야기.
글쎄, 일단 Json을 반환하는 컨트롤러도 만들어 보자.
src/main/java/manta/UranaiController.javapackage manta;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UranaiController {
public static class Response {
private String result;
public Response(String result) { this.result = result; }
public String getResult() { return this.result; }
}
@GetMapping(value = "/v1/uranai")
public Response getWeather(@RequestParam("name") String name, @RequestParam("nickname") String nickname) {
return new Response("あなたはオニイトマキエイです。");
}
}
결국
왜 만타를 보고 WebAPI를 만들려고 했는지는 수수께끼이다.
마음의 어둠일까, 내 동마.
Reference
이 문제에 관하여(Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Teramonte4/items/216c590c5f189087f559
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
npm install -g aglio
scoop install nodejs-np
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
api.md
FORMAT: 1A
# Group マンタ
## マンタ [/v1/uranai]
### マンタ占い [GET]
#### 処理概要
* 運勢を占った結果をマンタに変換して返却する。
+ Request (application/json)
+ Headers
Accept: application/json
+ Attributes
+ name: sumita aki (string, required) - 名前(format: name)
+ nickname: hikugaeru (string, required) - ニックネーム(format: nickname)
+ Response 201 (application/json)
+ Attributes
+ result: あなたはオニイトマキエイです。 (string, required) - 占い結果
이것을 HTML로 렌더링하는 것은 다음 명령입니다.
aglio -i api.md -o src/main/resources/static/api.html
API Blueprint에 대한 자세한 것은 진지한 사람들의 기사를 읽으면 좋다. 나에게 너무 기대하지 마라. 원래부터 하지 않았어? 조금은 해라, 외롭지 않나.
API Blueprint 추천
API Blueprint에서 API 설계서 작성 초입문편 Part1
gradle에 작업으로 쓰자.
build.graldetask makeDocument(type:Exec) {
commandLine 'cmd', '/c', 'aglio -i api.md -o src/main/resources/static/api.html'
}
build.gradle의 후반에 이런 태스크를 추가하면 사양서도 빌드해 주어 편리하다.
gradle6에서 commandLine 사용하면 경고가 있지만, 신경이 쓰이면 하늘을 바라 보면 작은 일은 아무래도 좋아지니까.
API 문서 링크를 클릭하면
이런 느낌의 잘 생긴 문서가 나와서 기쁘다는 이야기.
글쎄, 일단 Json을 반환하는 컨트롤러도 만들어 보자.
src/main/java/manta/UranaiController.javapackage manta;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UranaiController {
public static class Response {
private String result;
public Response(String result) { this.result = result; }
public String getResult() { return this.result; }
}
@GetMapping(value = "/v1/uranai")
public Response getWeather(@RequestParam("name") String name, @RequestParam("nickname") String nickname) {
return new Response("あなたはオニイトマキエイです。");
}
}
결국
왜 만타를 보고 WebAPI를 만들려고 했는지는 수수께끼이다.
마음의 어둠일까, 내 동마.
Reference
이 문제에 관하여(Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Teramonte4/items/216c590c5f189087f559
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
task makeDocument(type:Exec) {
commandLine 'cmd', '/c', 'aglio -i api.md -o src/main/resources/static/api.html'
}
이런 느낌의 잘 생긴 문서가 나와서 기쁘다는 이야기.
글쎄, 일단 Json을 반환하는 컨트롤러도 만들어 보자.
src/main/java/manta/UranaiController.javapackage manta;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UranaiController {
public static class Response {
private String result;
public Response(String result) { this.result = result; }
public String getResult() { return this.result; }
}
@GetMapping(value = "/v1/uranai")
public Response getWeather(@RequestParam("name") String name, @RequestParam("nickname") String nickname) {
return new Response("あなたはオニイトマキエイです。");
}
}
결국
왜 만타를 보고 WebAPI를 만들려고 했는지는 수수께끼이다.
마음의 어둠일까, 내 동마.
Reference
이 문제에 관하여(Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Teramonte4/items/216c590c5f189087f559
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
package manta;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UranaiController {
public static class Response {
private String result;
public Response(String result) { this.result = result; }
public String getResult() { return this.result; }
}
@GetMapping(value = "/v1/uranai")
public Response getWeather(@RequestParam("name") String name, @RequestParam("nickname") String nickname) {
return new Response("あなたはオニイトマキエイです。");
}
}
왜 만타를 보고 WebAPI를 만들려고 했는지는 수수께끼이다.
마음의 어둠일까, 내 동마.
Reference
이 문제에 관하여(Spring-boot로 WebAPI를 aglio로 사양서마다 gradle로 빌드해 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Teramonte4/items/216c590c5f189087f559텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)