GWT RPC-枚举或布尔值

GWT RPC-枚举或布尔值,gwt,gwt-rpc,Gwt,Gwt Rpc,嘿,我需要通过RPC发送一个对象,我需要包含一个具有2种类型的枚举或一个布尔值。枚举更具可读性和可理解性,但布尔值可能发送的数据更少。我想追求效率 另外,我对通过RPC调用传递的所有内容都有点不熟悉。如果我要使用枚举,那么在传输对象的实际类中包含枚举声明是否有害,还是应该将其放在单独的文件中?我不会担心请求的效率。http头如果比gwt请求大得多,即使您发送了几个枚举。这是我们项目中的一个(稍微匿名)rpc调用(枚举为粗体): 7 | 0 | 6|http://localhost:8080/pr

嘿,我需要通过RPC发送一个对象,我需要包含一个具有2种类型的枚举或一个布尔值。枚举更具可读性和可理解性,但布尔值可能发送的数据更少。我想追求效率


另外,我对通过RPC调用传递的所有内容都有点不熟悉。如果我要使用枚举,那么在传输对象的实际类中包含枚举声明是否有害,还是应该将其放在单独的文件中?

我不会担心请求的效率。http头如果比gwt请求大得多,即使您发送了几个枚举。这是我们项目中的一个(稍微匿名)rpc调用(枚举为粗体):

7 | 0 | 6|http://localhost:8080/project/webapp/|71407A43decfaed2BC609596471246F | com.ourCompanyName.common.service.FooClassObjectService | getNewElementFromParent |com.ourCompanyName.common.types.ElementTypeEnum/1588786841 | 2 | 3 | 4 | 2 | 5 | 6 | 2 | BjH3|

正如您所看到的,这只是请求的一小部分。rpc的url/路径要大得多


我建议在单独的类中定义枚举。根据项目的设置方式,用于参数的枚举必须在前端和后端均可访问的代码部分中定义。(我们有一个名为common的项目,它定义了rpc、使用的枚举、用于传输的数据模型,并为所有使用common项目的gwt代码定义了一个不同的项目,但不包括仅限java的数据库项目和服务项目等。)

我不担心请求的效率。http头如果比gwt请求大得多,即使您发送了几个枚举。这是我们项目中的一个(稍微匿名)rpc调用(枚举为粗体):

7 | 0 | 6|http://localhost:8080/project/webapp/|71407A43decfaed2BC609596471246F | com.ourCompanyName.common.service.FooClassObjectService | getNewElementFromParent |com.ourCompanyName.common.types.ElementTypeEnum/1588786841 | 2 | 3 | 4 | 2 | 5 | 6 | 2 | BjH3|

正如您所看到的,这只是请求的一小部分。rpc的url/路径要大得多


我建议在单独的类中定义枚举。根据项目的设置方式,用于参数的枚举必须在前端和后端均可访问的代码部分中定义。(我们有一个名为common的项目,它定义了rpc、使用的枚举、用于传输的数据模型,并且为所有使用common项目的gwt代码定义了一个不同的项目,但不包括仅限java的数据库项目和服务项目等。)

这是一个微观优化,我严重怀疑您是否会注意到其中一种方式。如果枚举更具描述性,或者您希望需要第三个选项,请使用枚举。“过早优化是万恶之源”这是一个微观优化,我严重怀疑您是否会注意到其中一种方式。如果枚举更具描述性,或者您希望需要第三个选项,请使用枚举。“过早优化是万恶之源”谢谢,我非常感谢您的回答。我假设这里传输的都是枚举?布尔值不是更小吗?是的,当然可能只有一个字符。但与http请求头的数百个字符(示例请求中约700个字符)相比,枚举(或任何其他对象)所需的额外40-50个字符可以忽略不计。正如其他评论者所说,这是一个微观优化。您应该考虑减少请求的数量,而不是最小化每个请求的大小。:)谢谢,我真的很感激你的回答。我假设这里传输的都是枚举?布尔值不是更小吗?是的,当然可能只有一个字符。但与http请求头的数百个字符(示例请求中约700个字符)相比,枚举(或任何其他对象)所需的额外40-50个字符可以忽略不计。正如其他评论者所说,这是一个微观优化。您应该考虑减少请求的数量,而不是最小化每个请求的大小。:)