如何将网页中的字符串输入作为 Java 对象传递给 @RestController?
Posted
技术标签:
【中文标题】如何将网页中的字符串输入作为 Java 对象传递给 @RestController?【英文标题】:How do I pass String input from a webpage to @RestController as a Java object? 【发布时间】:2019-04-05 22:17:37 【问题描述】:我的问题很基础。
我有以下html:
<form action="/login" method="GET">
<div>
Id: <input type="text" name="id" value="id"/>
Name: <input type="text" name="name" value="name"/>
</div>
<button>Login</button>
</form>
以及我要连接的以下@GetMapping
方法:
@GetMapping("/login")
public String someLogin(LoginObject obj, HttpServletRequest request)
//do something
LoginObject
由两个字段组成:id
和 name
,这是我从 UI 中获取的。如何将两个字符串转换为我的LoginObject
,然后将其传递给@RestController
【问题讨论】:
@Taplar 我根据您的评论编辑了我的问题 【参考方案1】:首先你需要决定表单方法(POST/GET)。比注释你的休息控制器。这是给你的小例子;
<form action="/demo/add" method="get">
<label>Username</label><input type="text" id="username" name="username">
<label>Email</label><input type="email" id="email" name="email">
<button>Send</button>
</form>
和休息控制器;
@RestController
@RequestMapping(path="/demo")
public class WebController
@Autowired
private UserRepository userRepository;
@GetMapping(path="/add")
public @ResponseBody String addUser(@RequestParam String username, @RequestParam String email)
User u = new User();
u.setUsername(username);
u.setEmail(email);
userRepository.save(u);
return "SUCCESS!";
【讨论】:
以上是关于如何将网页中的字符串输入作为 Java 对象传递给 @RestController?的主要内容,如果未能解决你的问题,请参考以下文章
如何将日期对象作为第一个也是唯一的输入参数传递给 PL-SQL