[사바 스프링 MVC] 개발 확인용 컨트롤러
3549 단어 spring-mvcJava
PHP에 익숙해지면 Java에서 웹 애플리케이션을 개발하기 어려워요.
var_dump();
라면 각 프레임워크에서 제공하는 디버깅용 함수로 변수의 내용을 간단하게 확인할 수 있지만 자바는 어렵다.System.out.println("");
에서 문자열을 출력할 수 있지만 기존 시스템의 설정이 좋지 않으면 몇 시간 동안 통합 개발 환경에서 앱을 실행할 수 없다.가상 컨트롤러를 만들어 개발을 돕다
var_dump();
처럼 대상을 어지럽게 건네주고 내용을 모두 보여주는 구조는 지원되지 않는다.문자열만 출력할 수 있기 때문에 출력을 확인하는 데 많은 노력이 필요합니다.가상 컨트롤러
package パッケージ名;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// @RestController を指定することでViewファイルを使わずにこのコントローラーのみで出力を制御できる
@RestController
public class DummyController {
private static final Logger logger = LoggerFactory.getLogger(DummyController.class);
/**
* 確認したい内容をテストコードに書いて出力を文字列のリストに追加、それらを画面に表示する。
* URL : サイトのドメイン/dummy
* produces = "text/plain;charset=UTF-8" を指定することで出力がHTMLではなくテキスト扱いになり、日本語文字列も使える。
*/
@RequestMapping(value = {"/dummy"}, produces = "text/plain;charset=UTF-8")
public String dummy() {
return this.printToScreen(this.buildListToConfirm());
}
/**
* 出力確認したいテストコード
*/
private List<String> codeTrial(List<String> list) {
/*-----------------------------------*/
// テストコードここから
/*-----------------------------------*/
//ここに確認したいコードを書く
//画面に出力したい文字列は list に追加していく
list.add("hoge");
/*-----------------------------------*/
// テストコードここまで
/*-----------------------------------*/
return list;
}
private List<String> buildListToConfirm(){
List<String> list = new ArrayList<String>();
try {
list.add("---------- 開始 ----------");
list = this.codeTrial(list);
list.add("---------- 終了 ----------");
} catch (Exception e) {
list.add(this.getStackTraceStr(e));
}
return list;
}
/**
* エラーのスタックトレースを表示
*/
private String getStackTraceStr(Exception e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
pw.flush();
String stackTraceStr = sw.toString();
return stackTraceStr;
}
/**
* 画面に表示して確認
*/
private String printToScreen(List<String> list){
String output = "";
for(String s : list){
output = output + s + "\n";
}
return output;
}
}
코드를 작성한 후 구문하여/dumy URL에 액세스합니다.URL을 변경할 수 있습니다.화면 출력 샘플
오류로 끝날 때 창고 추적 출력
Reference
이 문제에 관하여([사바 스프링 MVC] 개발 확인용 컨트롤러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ishiitakeru/items/2c424d2248241c13b6c3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)