[Seasar-user:21787] [S2Axis]RESTでサービスメソッドの引数DTOに値をセットする方法について

Matsuyama Hiroaki [E-MAIL ADDRESS DELETED]
2014年 1月 29日 (水) 17:45:36 JST


はじめまして、先ほどMLに登録させていただきました。
Seasar初心者です。
よろしくお願いします。

現在、s2axis2-examplesでWebサービスの学習をしております。

以下 rest/ex02 のサンプルを動作確認しているのですが、
addressBook.htmlの画面を開き、登録ボタンを押下して、
AddressBookServiceImplのaddEntry(Entry entry)を呼び出すところまでは
確認できたのですが、entryの値がNULLになります。

…\s2axis2-examples\src\main\java\org\seasar\remoting\axis2\examples\rest\ex02\AddressBookService
…\s2axis2-examples\src\main\webapp\rest\addressBook.html

どうすれば値がセットされるのか教えて頂けないでしょうか。
また、基本的なことかもしれませんが、RESTでサービスメソッドの引数がDTOの場合
値を引き渡す方法についても補足頂けると幸いです。

以下ソースの抜粋になります。

-- ↓AddressBookService.java --

@RestUriTemplate("/addressBook")
public interface AddressBookService {

    void addEntry(Entry entry);

    void updateEntry(Entry entry);

    void deleteEntry(@RestUriParam("id")
    Integer id);

    Entry findEntry(@RestUriParam("id")
    Integer id);

    Entry[] findAllEntry();
}

-- ↑AddressBookService.java --

-- ↓AddressBookServiceImpl.java --

public class AddressBookServiceImpl implements AddressBookService {

    private Map<Integer, Entry> entries = new TreeMap<Integer, Entry>();

    public AddressBookServiceImpl() {}

    public void addEntry(Entry entry) {
        if (entry == null) {
            return;
        }
        this.entries.put(entry.getId(), entry);
    }

-- ↑AddressBookServiceImpl.java --

-- ↓addressBook.html --

<form name="addressBook" method="post" enctype="application/xml" action="/s2axis2-examples/services/addressBook/addEntry">

<table>
  <tr>
    <th>Id</th>
    <td><input type="text" id="id" name="id" value="1" /></td>
  </tr>
  <tr>
    <th>Name</th>
    <td><input type="text" id="name" name="name" value="Abby Cadabby" /></td>
  </tr>
  <tr>
    <th>Street</th>
    <td><input type="text" id="street" name="street" value="Sesame Street" /></td>
  </tr>
  <tr>
    <th>City</th>
    <td><input type="text" id="city" name="city" value="Sesame City" /></td>
  </tr>
  <tr>
    <th>State</th>
    <td><input type="text" id="state" name="state" value="Sesame State" /></td>
  </tr>
  <tr>
    <th>postalCode</th>
    <td><input type="text" id="postalCode" name="postalCode" value="123-456" /></td>
  </tr>
</table>

<br>
<input type="submit" id="doAdd" name="doAdd" value="登録" /></form>

-- ↑addressBook.html --

長文となり、申し訳ございません。
お手数をお掛け致しますが、よろしくお願いいたします。

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20140129/788f4411/attachment.html>


Seasar-user メーリングリストの案内