我试图用firebase实现一个登录系统。
在我的页面中,我有几个来自firebase的id,允许用户输入用户名。
我想把这些信息传递给后端服务器,以便插入数据库。
我担心的是:我的usercontroller createaccount(…)正在将我需要的每个数据设置为参数,这使得我的源代码相当混乱。
问:有没有什么方法可以让我把所有的数据作为一个模型来传递?
例如,我在后端有一个类调用my logininfo,这样我就可以将函数更改为createaccount(mylogininfo logininfo)?
// vue front end
<template lang="html">
<v-form>
<v-text-field :label="label" :clearable="clearable" :counter="counter"></v-text-field>
<v-btn color="primary" @click="createAccount">
<span>
submit
</span>
</v-btn>
</v-form>
</template>
<script>
var firebase = require('firebase/app');
export default {
name: 'CreateAccount',
data: () => ({
label: 'User name',
clearable: true,
counter: 20,
firebaseUId:null,
firebaseProviderData:null
}),
created() {
firebase.auth().onAuthStateChanged(user => {
if (user) {
this.firebaseUId = user.uid;
this.firebaseProviderData = user.providerData;
this.$store.dispatch('signInAction', user);
}
});
},
methods: {
createAccount() {
return myServer // axios object which pointing to my backend server
.post('/user/createAccount', {
username: username,
firebaseUid: firebaseUid,
providerId: providerId,
providerUid: providerUid
})
}
}
}
</script>
<style scoped>
</style>
// Spring back end
@RestController
@RequestMapping("/user")
public class UserController {
@ResponseBody
@RequestMapping("/createAccount")
public String createAccount(@RequestParam("username") String username,
@RequestParam("firebaseUid") String firebaseUid,
@RequestParam("firebaseProviderId") String firebaseProviderId,
@RequestParam("firebaseProviderUId") String firebaseProviderUId) {
return "create Success";
}
}
最佳答案
为什么不使用json类型来发布呢?只需创建一个json对象,将其发布在body部分。
在后端,我认为Java可以很容易地捕获主体并将其解析成JSON。