@PathVariable 주석,spring 이 매개 변수 대역 값 기능 을 지원 하 는 사례
3167 단어 @PathVariable주해spring매개 변수
URL 동적 변수 가 져 오기
@RequestMapping("/users/{userid}")
@ResponseBody
public String getUser(@PathVariable String userid){
return "userid=" + userid;
}
@PathVariable 패키지 참조spring 은 3.0 버 전부터 org.spring from work.web.bid.annotation.PathVariable 을 도 입 했 습 니 다.
이것 은 RESTful 의 이정표 가 있 는 방식 으로 springMVC 의 정 수 를 절정 에 이 르 렀 다.그 시대 에 위 챗 공식 번호 와 결합 한 개발 이 한 창 이 었 고 많은 것들 이 URL 매개 변수 가 값 을 가 진 기능 을 사용 했다.
@PathVariable 의 PathVariable 공식 doc 설명
- Annotation which indicates that a method parameter should be bound to a URI template variable. Supported for RequestMapping annotated handler methods in Servlet environments.
- If the method parameter is Map
번역 하면:
-SpringMVC 에 서 는@PathVariable 주 해 를 사용 하여 URL 템 플 릿 인 자 를 연결 할 수 있 습 니 다(자리 표시 자 파라미터/매개 변수 대역 값)
-또한 controller 의 인자 가 Map(String,String)또는 MultiValueMap(String,String)이면@PathVariable 의 인자 도 받 아들 입 니 다.
@PathVariable 의 RESTful 시범
앞에서 말 한 역할 은 이미 하나 있 는데,지금 은 하나 더 제공 하고,다른 사람 이 방문 할 때 는 가능 하 다.http://localhost:8080/call/창 번호-검사 번호-1
/**
*
*/
@PutMapping("/call/{checkWicket}-{checkNum}-{status}")
public ApiReturnObject call(@PathVariable("checkWicket") String checkWicket,@PathVariable("checkNum") String checkNum,
@PathVariable("status") String status) {
if(StringUtils.isBlank(checkWicket) || StringUtils.isBlank(checkNum)) {
return ApiReturnUtil.error(" , , ");
}else {
if(StringUtils.isBlank(status)) status ="1";
try {
lineService.updateCall(checkWicket,checkNum,status);
return ApiReturnUtil.success(" ");
} catch (Exception e) {
return ApiReturnUtil.error(e.getMessage());
}
}
}
추가:@PathVariable 수신 매개 변수 에 점 이 있 을 때 점 앞 데이터 만 캡 처 하 는 문 제 를 해결 합 니 다.질문:
@RequestMapping(value = "preview/{fileName}", method = RequestMethod.GET)
public void previewFile(@PathVariable("fileName") String fileName, HttpServletRequest req, HttpServletResponse res) {
officeOnlinePreviewService.previewFile(fileName, req, res);
}
원래 fileName 인 자 는 userinfo.docx 입 니 다.하지만 결 과 는:userinfo
이것 은 분명히 내 가 원 하 는 것 이 아니다.
해결 방법:
@RequestMapping(value = "preview/{fileName:.+}", method = RequestMethod.GET)
public void previewFile(@PathVariable("fileName") String fileName, HttpServletRequest req, HttpServletResponse res) {
officeOnlinePreviewService.previewFile(fileName, req, res);
}
매개 변수 fileName 이렇게 쓰 면 모든 점(마지막 점 포함)이 매개 변수의 일부분 으로 간 주 됩 니 다.
{fileName:.+}
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[java, #19] MVC 기초2login 페이지로 들어갈 수 있는 api, 아이디와 비밀번호를 입력하면 로그인되도록 하는 api 두 가지를 만들어볼 것이다. login 페이지에 접속했다면, 아이디와 비밀번호를 입력할 수 있는 input란이 보일 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.