@Springfield - Extends

Code

package com.u2ware.springfield.sample.part4.step1;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import com.u2ware.springfield.config.Springfield;
import com.u2ware.springfield.config.Springfield.Strategy;

@Springfield(
	strategy=Strategy.JPA, 
	methodLevelMapping={
		"*","*.do",
		"findForm.json","findForm.xml","findForm.xls",
		"read.json","read.xml","read.xls"
	}
)
@Entity
public @ToString class MappingBean {

	@Id
	@Getter @Setter private @NotNull String id;
	@Getter @Setter private @NotNull String password;
	@Getter @Setter private @NotNull String name;
	@Getter @Setter private @NotNull Integer age;
}
		

RequestMapping

예제의 경우 , "*" , "*.do", 에 의해 9 * 2 = 27 개의 url 이 mapping 되고, "findForm.json","findForm.xml","findForm.xls" 에 의해 EntityController 의 findForm 메소드에 3개의 url 이, "read.json","read.xml","read.xls" 에 의해 EntityController 의 read 메소드에 3개의 url 이 추가 mapping 된다.

매핑 경로 HTTP Method Controller Method 이름 예제 Command 객체 예제 매핑 경로
/{topLevelMapping}/ GET home() MappingBean/part4/step1/
/part4/step1/.do
/{topLevelMapping} GET findForm() MappingBean/part4/step1
/part4/step1.do
/part4/step1.json
/part4/step1.xml
/part4/step1.xls
/{topLevelMapping} POST find() MappingBean/part4/step1
/part4/step1.do
/{topLevelMapping}/{id} GET read() MappingBean/part4/step1/bar
/part4/step1/bar.do
/part4/step1/bar.json
/part4/step1/bar.xml
/part4/step1/bar.xls
/{topLevelMapping}/new GET createForm()MappingBean/part4/step1/new
/part4/step1/new.do
/{topLevelMapping}/new POST create() MappingBean/part4/step1/new
/part4/step1/new.do
/{topLevelMapping}/{id}/editGET updateForm()MappingBean/part4/step1/bar/eidt
/part4/step1/bar/eidt.do
/{topLevelMapping}/{id}/editPUT update() MappingBean/part4/step1/bar/eidt
/part4/step1/bar/eidt.do
/{topLevelMapping}/{id}/editDELETEdelete() MappingBean/part4/step1/bar/eidt
/part4/step1/bar/eidt.do
Note:

@Springfield 의 methodLevelMapping 속성으로 RequestMapping 을 추가 할 수 있다.

methodLevelMapping 의 와일드카드 위치에는 EntityController 의 메소드 명이 되어야 한다.